[Spice-commits] Changes to 'spice.v56'
Gerd Hoffmann
kraxel at kemper.freedesktop.org
Mon Jun 11 05:49:16 PDT 2012
New branch 'spice.v56' available with the following commits:
commit e17d99a3727daf36b1e30b2bcc7c2647754fc714
Author: Blue Swirl <blauwirbel at gmail.com>
Date: Sun Jun 10 13:04:32 2012 +0000
libcacard: build fixes
Link trace objects to fix these errors:
LINK vscclient
oslib-posix.o: In function `trace_qemu_vfree':
/src/qemu/obj-amd64/./trace.h:39: undefined reference to `trace1'
oslib-posix.o: In function `trace_qemu_memalign':
/src/qemu/obj-amd64/./trace.h:31: undefined reference to `trace3'
oslib-posix.o: In function `trace_qemu_vmalloc':
/src/qemu/obj-amd64/./trace.h:35: undefined reference to `trace2'
Add LDFLAGS to vscclient link command.
Clean up also in subdirectories of libcacard.
Use quiet-command for sed invocation.
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 1accdb6ea3cd48ea613176ad7bd7700af233b514
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Mon Jun 11 10:42:53 2012 +0200
vga: raise default vgamem size
Old size: 8 MB (traditional upstream qemu value).
New size: 16 MB (traditional qemu-kvm value).
Also adds compat properties so old machine types
keep the old default values.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit 95919dec04a1cc5808274b7c71f2932bcf9e3356
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Mon Jun 11 10:38:22 2012 +0200
add pc-1.2
commit ea69e14def98197b0276bc48df732c283706679d
Author: Alon Levy <alevy at redhat.com>
Date: Sun Jun 10 18:05:06 2012 +0300
qxl: add vgamem_size_mb and vgamem_size
In preperation for supporting a larger framebuffer for multiple monitors
on a single card, add a property to qxl vgamem_size_mb, and corresponding
byte sized vgamem_size, and use instead of VGA_RAM_SIZE.
[ kraxel: simplify property handling, add sanity checks ]
[ kraxel: fix mode copying ]
Signed-off-by: Alon Levy <alevy at redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit 89a1b225de1b7c90dc5cc28188e15ec8660ed541
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Thu May 24 09:59:44 2012 +0200
vga: make vram size configurable
Zap the global VGA_RAM_SIZE #define, make the vga ram size configurable
for standard vga and vmware vga. cirrus and qxl are left with a fixed
size (and private VGA_RAM_SIZE #define) for now.
qxl needs some non-trivial adjustments in the mode list handling deal
with a runtime-configurable size, which calls for a separate qxl patch.
cirrus emulates cards which have 2 MB (isa) and 4 MB (pci), so I guess
it would make sense to use these sizes. That change would break
migration though, so I left it fixed at 8 MB size. Making it
configurabls is pretty pointless for cirrus as we have to match real
hardware.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit e66e67f9c545d4fea9ddcf1c3f8b64fef7d2ff18
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Thu May 24 09:16:29 2012 +0200
vga: raise xres+yres limits
The vgabios will check whenever any given video mode will fit into the
given video memory before adding it to the list of available modes, so
there is no need to keep xmax * ymax * 32bpp lower than VGA_RAM_SIZE.
Lets raise the limits a bit. Should be good for a few years, display
sizes are not growing that fast.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit 940e48199655f9520036f78ec916e9b3dfc0a821
Author: Alon Levy <alevy at redhat.com>
Date: Mon Jun 11 09:24:01 2012 +0300
qxl: reset current_async on qxl_soft_reset
Signed-off-by: Alon Levy <alevy at redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit c587a2daa4714dd97caac26cf5a9a454fcb38dcb
Author: Alon Levy <alevy at redhat.com>
Date: Thu May 24 19:18:54 2012 +0300
hw/qxl: ignore guest from guestbug until reset
soft_reset is called from any of:
* QXL_IO_RESET
* vga io
* pci reset handler
Signed-off-by: Alon Levy <alevy at redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit 8b8c5149bf535058094700c0b23b7f8ca23ad28e
Author: Alon Levy <alevy at redhat.com>
Date: Thu May 24 19:18:53 2012 +0300
qxl: stop dirty loging when not in vga mode
Tested with linux guest. Not sure how to check actual performance affect
of this. Checked with the previously send traceevent that the kvm ioctl
to start/stop dirty logging is being called.
(KVM_SET_USER_MEMORY_REGION).
Signed-off-by: Alon Levy <alevy at redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit 9a884537d896c46199bdb2e82c1f4e90328cb067
Author: Alon Levy <alevy at redhat.com>
Date: Thu May 24 12:38:12 2012 +0300
hw/qxl: s/qxl_guest_bug/qxl_set_guest_bug/
Signed-off-by: Alon Levy <alevy at redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit 6fb3a46b57eed78ab187365eb76f4f8e4bd58b34
Author: Alon Levy <alevy at redhat.com>
Date: Thu May 24 12:38:11 2012 +0300
ui/spice-display.c: add missing initialization for valgrind
We can't initialize QXLDevSurfaceCreate field by field because it has a
pa hole, and so 4 bytes remain uninitialized when building on x86-64, so
just memset.
Signed-off-by: Alon Levy <alevy at redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit dbaf26b3b22daae3be6a89b965e43503e7c3b912
Author: Blue Swirl <blauwirbel at gmail.com>
Date: Sun Jun 10 20:29:19 2012 +0000
Revert "build: compile oslib-obj-y once"
This reverts commit 25f27a4f7160d077d6992e811021b4bc3a82abc1
because of bsd-user breakage.
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit f492b82d673d58066a0f7856b00157fbe7860a9d
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun Jun 10 11:33:12 2012 +0400
target-xtensa: switch to AREG0-free mode
Add env parameter to every helper function that needs it, update
'configure' script.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit e8de1ea849176812765bf30514f66c5450a1edc6
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun Jun 10 11:33:11 2012 +0400
target-xtensa: add attributes to helper functions
Mark exception generating functions 'noreturn' and pure constant
functions as such.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 9ed3a188fff6ffc33dcadce6061c708b2fb3b0b2
Author: Peter Portante <peter.portante at redhat.com>
Date: Sun Jun 10 11:33:10 2012 +0400
target-xtensa: remove unnecessary include of dyngen-exec.h
Signed-off-by: Peter Portante <peter.portante at redhat.com>
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit d865f307399441919d6646545b7735e57920da04
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Mon May 28 03:18:33 2012 +0400
target-xtensa: fix CCOUNT for conditional branches
Taken conditional branches fail to update CCOUNT register because
accumulated ccount_delta is reset during translation of non-taken
branch. To fix it only update CCOUNT once per conditional branch
instruction translation.
This fixes guest linux freeze on LTP waitpid06 test.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 9d70c4b7b8a580959cc4f739e7c9a04964d00d46
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 20:21:08 2012 +0400
exec: fix TB invalidation after breakpoint insertion/deletion
tb_invalidate_phys_addr has to be called with the exact physical address of
the breakpoint we add/remove, not just the page's base address.
Otherwise we easily fail to flush the right TB.
This breakage was introduced by the commit f3705d5329 "memory: make
phys_page_find() return an unadjusted".
This appeared to work for some guest architectures because their
cpu_get_phys_page_debug implementation returns full translated physical
address, not just the base of the TARGET_PAGE_SIZE-sized page.
Reported-by: TeLeMan <geleman at gmail.com>
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit c305e32f4336e29fd3f86fc32ffce7b00e5bd9e1
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 18:34:54 2012 +0400
target-xtensa: add MMU pagewalking tests
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 57705a676c65e6ecacc44c23b192f3d7ed2cdedd
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 18:34:53 2012 +0400
target-xtensa: control page table lookup explicitly
Hardware pagetable walking may not be nested. Stop guessing and pass
explicit flag to the get_physical_addr_mmu function that controls page
table lookup.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit ae4e7982e6db8b88e90db74779f4693bc2c636a8
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 18:34:52 2012 +0400
target-xtensa: update autorefill TLB entries conditionally
This is to avoid interference of internal QEMU helpers
(cpu_get_phys_page_debug, tb_invalidate_virtual_addr) with guest-visible
TLB state.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 16bde77a298acfe15f5e948aceff550d0cb173e8
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 18:34:51 2012 +0400
target-xtensa: extract TLB entry setting method
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 39e7d37f0f25823c00d1105e8eb9b61182fd349c
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 18:34:50 2012 +0400
target-xtensa: update EXCVADDR in case of page table lookup
According to ISA, 4.4.2.6, EXCVADDR may be changed by any TLB miss, even
if the miss is handled entirely by processor hardware.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit e323bdeff28f3bd647bf02cc9df57971eff3e258
Author: Max Filippov <jcmvbkbc at gmail.com>
Date: Sun May 27 18:34:49 2012 +0400
target-xtensa: flush TLB page for new MMU mapping
Both old and new mappings need flushing because their VPN may be
different in MMU case.
Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit bbbc0e244e35cdc159f559e9d47e5941a1b35745
Author: Stefan Weil <sw at weilnetz.de>
Date: Thu Jun 7 15:45:35 2012 +0200
w32: Fix broken build (missing include file)
dump.c was recently added to the code. It unconditionally
includes sys/procfs which is not available with MinGW (w32, w64).
It looks like this file is not needed at all (tested on Linux),
so I removed it completely.
Some other include statements are also redundant because they are
already included in qemu-common, therefore they were removed, too.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 3294ce1893620aecf0d2a693c7177a0f84129422
Author: Michael Tokarev <mjt at tls.msk.ru>
Date: Sat Jun 2 23:43:33 2012 +0400
do not include <libutil.h> needlessly or if it doesn't exist
<libutil.h> and <util.h> on *BSD (some have one, some another)
were #included just for openpty() declaration. The only file
where this function is actually used is qemu-char.c.
In vl.c and net/tap-bsd.c, none of functions declared in libutil.h
(login logout logwtmp timdomain openpty forkpty uu_lock realhostname
fparseln and a few others depending on version) are used.
Initially the code which is currently in qemu-char.c was in vl.c,
it has been removed into separate file in commit 0e82f34d077dc2542
Fri Oct 31 18:44:40 2008, but the #includes were left in vl.c.
So with vl.c, we just remove includes - libutil.h, util.h and
pty.h (which declares only openpty() and forkpty()) from there.
The code in net/tap-bsd.c, which come from net/tap.c, had this
commit 5281d757efa6e40d74ce124be048b08d43887555
Author: Mark McLoughlin <markmc at redhat.com>
Date: Thu Oct 22 17:49:07 2009 +0100
net: split all the tap code out into net/tap.c
Note this commit not only moved stuff out of net.c to net/tap.c,
but also rewrote large portions of the tap code, and added these
completely unnecessary #includes -- as usual, I question why such
a misleading commit messages are allowed.
Again, no functions defined in libutil.h or util.h on *BSD are
used by neither net/tap.c nor net/tap-bsd.c. Removing them.
And finally, the only real user for these #includes, qemu-char.c,
which actually uses openpty(). There, the #ifdef logic is wrong.
A GLIBC-based system has <pty.h>, even if it is a variant of *BSD.
So __GLIBC__ should be checked first, and instead of trying to
include <libutil.h> or <util.h>, we include <pty.h>. If it is not
GLIBC-based, we check for variations between <*util.h> as before.
This patch fixes build of qemu 1.1 on Debian/kFreebsd (well, one
of the two problems): it is a distribution with a FreeBSD kernel,
so it #defines at least __FreeBSD_kernel__, but since it is based
on GLIBC, it has <pty.h>, but current version does not have neither
<util.h> nor <libutil.h>, which the code tries to include 3 times
but uses only once.
Signed-off-By: Michael Tokarev <mjt at tls.msk.ru>
Cc: Aurelien Jarno <aurelien at aurel32.net>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 7c760cbceaf6c5da1cfb4ee6019c6fecf0008d1a
Author: Andreas Färber <andreas.faerber at web.de>
Date: Sat Jun 9 03:43:05 2012 +0200
target-ppc: Unbreak kvm_ppc.c build
The file is located in target-ppc/, not hw/.
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Cc: Paolo Bonzini <pbonzini at redhat.com>
Cc: Anthony Liguori <anthony at codemonkey.ws>
Cc: Blue Swirl <blauwirbel at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 7baa82079f089dd2c6f42b11c39ba0fd9f1ab85d
Author: Stefan Weil <sw at weilnetz.de>
Date: Fri Jun 8 19:57:25 2012 +0200
dump: Fix build breakage (missing sys/procfs.h)
sys/procfs is not available everywhere (MingW does not have it).
Remove this and more unused or redundant include statements.
This fixes the broken build.
qerror.h was previously included indirectly.
Add an explicit include statement for it because it is needed.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit fa79c914efd35cb60e0bc18512c03690c48b13e2
Merge: 083dbf489d1b0592e910ecfb90b3858c23e49ab7 2dee8d54c62abb0a46578ad21cc25782b83e3773
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu Jun 7 17:21:40 2012 +0800
Merge remote-tracking branch 'bonzini/nested-makefiles-3' into staging
* bonzini/nested-makefiles-3: (29 commits)
build: do not create directories at configure time
configure: ensure directory exists when creating symlink
build: compile oslib-obj-y once
build: limit usage of vpath
build: libcacard Makefile cleanups
build: move device tree to per-target Makefile.objs
build: move per-target hw/ objects to nested Makefile.objs
build: convert libhw to nested Makefile.objs
build: move target-independent hw/ objects to nested Makefile.objs
build: move qga/ objects to nested Makefile.objs
build: move qapi/ objects to nested Makefile.objs
build: move slirp/ objects to nested Makefile.objs
build: move audio/ objects to nested Makefile.objs
build: move ui/ objects to nested Makefile.objs
build: move fsdev/ objects to nested Makefile.objs
build: move net/ objects to nested Makefile.objs
build: move block/ objects to nested Makefile.objs
build: adapt qom/Makefile and move it to Makefile.objs
build: move rules for nesting to Makefile.objs
build: move other target-*/ objects to nested Makefile.objs
...
commit 083dbf489d1b0592e910ecfb90b3858c23e49ab7
Author: Peter A. G. Crosthwaite <peter.crosthwaite at petalogix.com>
Date: Tue Jun 5 12:31:04 2012 +1000
target-microblaze: fix swx build breakage
The lazy initialisation of r_check was throwing an error on --enable-debug.
Removed the lazy initialisation of r_check and swx_addr.
Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite at petalogix.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 2dee8d54c62abb0a46578ad21cc25782b83e3773
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Mon Jun 4 09:15:43 2012 +0200
build: do not create directories at configure time
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit ec5b06d717bc49d8ad4dc5e9760e8f1f2a2a371c
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Wed Jun 6 16:57:00 2012 +0800
configure: ensure directory exists when creating symlink
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 25f27a4f7160d077d6992e811021b4bc3a82abc1
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 16:32:10 2012 +0200
build: compile oslib-obj-y once
There is no difference in oslib-obj-y between user-mode and system
targets. There used to be when user-mode could optionally be
compiled with PIE.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit fec90ff0bd522a65beb330ab5ca45a40b2f14f10
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 11:49:50 2012 +0200
build: limit usage of vpath
All paths are now explicitly given, and the object tree mimics
the source tree, so there is no need to apply special vpaths.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 00c705fb92bc6e69e955aeac3614e05ca02feacd
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 11:40:24 2012 +0200
build: libcacard Makefile cleanups
Build vscclient from toplevel Makefile, limit usage of vpath.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 49ac9e0a8cfb737d6da9c0b056c062e3dec0ba45
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 17:50:03 2012 +0200
build: move device tree to per-target Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit c353f261946ddbd814b333ae2440712b486977fd
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 11:49:34 2012 +0200
build: move per-target hw/ objects to nested Makefile.objs
This completes the move to nested Makefiles for virtio and a few
other files that were not part of obj-TARGET-y, but still were
compiled separately for each target.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit be1029ec30d2eee9e0eb56190d1ed2ed9a400bdf
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 11:10:55 2012 +0200
build: convert libhw to nested Makefile.objs
After this patch, the libhw* directories will have a hierarchy
that mimics the source tree. This is useful because we do have
a couple of files there that are in the top source directory.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 3d5a3f9a7fded758e37da15471d50de4b0f7e4a5
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 11:08:47 2012 +0200
build: move target-independent hw/ objects to nested Makefile.objs
This patch starts converting the hw/ directory. Some files in hw/
are compiled once, some twice (32-/64-bit), some once per target.
Each category is moved in a separate patch.
After this patch, the files that are compiled once will show the
same hierarchy in the build tree as they do in the source tree,
for example hw/qdev.o instead of just qdev.o.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 4eb7ba8aff38291296bce7e5efa4ac6f42c989c4
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:50:58 2012 +0200
build: move qga/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit dd5614d6f1d22c4e940368e1433325a3669cbbc2
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:50:34 2012 +0200
build: move qapi/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 4c696054727edbc274dd174558e0a796c98d1557
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:49:43 2012 +0200
build: move slirp/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit b0b68fc671a55f73a2a886fe75fbe95df4d9105c
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:49:02 2012 +0200
build: move audio/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 8867aef02e1e5817c72b2e09be4ae952eb0c9d9d
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:48:15 2012 +0200
build: move ui/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit ee20477d2463dfaf0d88595c8dcbf0f80404f69c
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:46:08 2012 +0200
build: move fsdev/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit d8469de6c10533ce32be063e1ce3b586dc91406e
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:45:55 2012 +0200
build: move net/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 7456e4ce8de73c2406046f29a0e899d8806820ce
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:44:39 2012 +0200
build: move block/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 7f07b9cbc51066ddaa133b29389e225612aaced2
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:42:53 2012 +0200
build: adapt qom/Makefile and move it to Makefile.objs
qom/ already used a separate makefile. Convert it to use relative
paths, and make it declare both common-obj-y and user-obj-y. This
way, the upper makefiles do not need to know that some QOM files
are compiled twice.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 99100dc3b55126fc60fbbfb854d5aab25ab5dafd
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:41:27 2012 +0200
build: move rules for nesting to Makefile.objs
At this point we will start adding nesting behavior to other files
than Makefile.target. Because Makefile.objs is included by
Makefile.target, it is simpler to move the processing of
subdirectories there.
To enable this, only add per-target files to obj-y. Use a separate
variable for the linker dependencies, all-obj-y. This variable includes
obj-y and also all objects that are taken from other directories.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit fbe37ef3e18814f2b98f115a1c855fea7fe71d74
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 11:48:59 2012 +0200
build: move other target-*/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 5f86146fb3ad18ef25036329f48d9ea2b7f4ab70
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Jun 7 08:22:56 2012 +0200
dump: remove dumping stuff from cpu-all.h
This simplifies things, because they will only be included for softmmu
targets and because the stubs are taken out-of-line in separate files,
which in the future could even be compiled only once.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 4720bd050655a56b4b048d8856a03ae187481a7f
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Jun 7 08:48:09 2012 +0200
dump: change cpu_get_note_size to return ssize_t
So that it can use the same prototype in both cases.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit db2077692ffee1f87a1f4af0cf275c33aba6c867
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Jun 7 07:02:04 2012 +0200
dump: do not compile dump.o for user-mode emulation
It is not needed, because the monitor is not included.
Cc: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 9cdc8df314bddc95125e87039b0f2df3fc5fa866
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 10:55:47 2012 +0200
build: move libobj-y variable to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 5e8861a0361d8d39ab69fe557294471c28c49c8b
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 10:23:15 2012 +0200
build: move obj-TARGET-y variables to nested Makefile.objs
Also drop duplicate occurrence of device-hotplug.o.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 7fc5152c6dca17d6061cc399c46716d9e586ad85
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 09:33:59 2012 +0200
build: move *-user/ objects to nested Makefile.objs
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit e05804eebc6444bc5660ab2770fd9452fd66ec56
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:41:27 2012 +0200
build: add rules for nesting
This adds the 'magic' rules that take care of subdirectories.
The subdirectory makefiles in the source tree are not complete; they
only define some variables (listed in nested-vars) according to the
configuration.
The magic rules descend into subdirectory makefiles and gather the
evaluated values of those variables. The values from all subdirectories
are joined together, each prefixed with the subdirectory name, and used
by the "real" makefiles.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 4115852bb0670841ff0e780692bcfcf1ede120b0
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 29 12:41:34 2012 +0200
build: do not sprinkle around GENERATED_HEADERS dependencies
Keeping GENERATED_HEADERS dependencies up-to-date everywhere is complex.
We can simply make the Makefile depend on them, and they will be built
before all other targets.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 046e7c5f934a7a5680a6822eae4dfa80899a1d40
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 22 13:50:03 2012 +0200
build: remove trace-nested-y
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit 349417004a0f7cf5518a998dca755cd06f6c212b
Merge: e1ae9a7a78be8d894c111059955fe0e25ec4c203 4860853d60ecea44b65e9cdefce980de3a641dce
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Wed Jun 6 20:57:56 2012 +0800
Merge remote-tracking branch 'qmp/queue/qmp' into staging
* qmp/queue/qmp: (29 commits)
Add 'query-events' command to QMP to query async events
qapi: convert netdev_del
qapi: convert netdev_add
net: net_client_init(): use error_set()
net: purge the monitor object from all init functions
qemu-config: introduce qemu_find_opts_err()
qemu-config: find_list(): use error_set()
qerror: introduce QERR_INVALID_OPTION_GROUP
qemu-option: qemu_opts_from_qdict(): use error_set()
qemu-option: introduce qemu_opt_set_err()
qemu-option: opt_set(): use error_set()
qemu-option: qemu_opts_validate(): use error_set()
qemu-option: qemu_opt_parse(): use error_set()
qemu-option: parse_option_size(): use error_set()
qemu-option: parse_option_bool(): use error_set()
qemu-option: parse_option_number(): use error_set()
qemu-option: qemu_opts_create(): use error_set()
introduce a new monitor command 'dump-guest-memory' to dump guest's memory
make gdb_id() generally avialable and rename it to cpu_index()
target-i386: Add API to get note's size
...
commit e1ae9a7a78be8d894c111059955fe0e25ec4c203
Merge: 6e72ae4690abde06c7e40603b0f03ab7bcf92b0c b7e516ce04fecf260e7c0893b0afb3ff24a40358
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Wed Jun 6 17:55:07 2012 +0800
Merge remote-tracking branch 'afaerber-or/qom-cpu-3' into staging
* afaerber-or/qom-cpu-3: (74 commits)
Kill off cpu_state_reset()
linux-user: Use cpu_reset() after cpu_init() / cpu_copy()
bsd-user: Use cpu_reset() in after cpu_init()
leon3: Store SPARCCPU in ResetData
leon3: Use cpu_sparc_init() to obtain SPARCCPU
sun4u: Store SPARCCPU in ResetData
sun4u: Let cpu_devinit() return SPARCCPU
sun4u: Use cpu_sparc_init() to obtain SPARCCPU
sun4m: Pass SPARCCPU to {main,secondary}_cpu_reset()
sun4m: Use cpu_sparc_init() to obtain SPARCCPU
target-sparc: Let cpu_sparc_init() return SPARCCPU
cpu-exec: Use cpu_reset() in cpu_exec() for TARGET_PPC
virtex_ml507: Pass PowerPCCPU to main_cpu_reset()
virtex_ml507: Let ppc440_init_xilinx() return PowerPCCPU
virtex_ml507: Use cpu_ppc_init() to obtain PowerPCCPU
ppc_prep: Pass PowerPCCPU to ppc_prep_reset()
ppc_prep: Use cpu_ppc_init() to obtain PowerPCCPU
ppc_oldworld: Pass PowerPCCPU to ppc_heathrow_reset()
ppc_oldworld: Use cpu_ppc_init() to obtain PowerPCCPU
ppc_newworld: Pass PowerPCCPU to ppc_core99_reset()
...
commit 6e72ae4690abde06c7e40603b0f03ab7bcf92b0c
Merge: 721589dd74e7d4771a5b996cfd8e1f79fc10f3a3 d3d3bef0a03adfe73216d741d355bb12f6e52b33
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Wed Jun 6 17:23:59 2012 +0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
kvm: Fix build for non-CAP_IRQ_ROUTING targets
commit d3d3bef0a03adfe73216d741d355bb12f6e52b33
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Tue Jun 5 21:03:57 2012 +0200
kvm: Fix build for non-CAP_IRQ_ROUTING targets
A type definition and a KVMState field initialization escaped the
required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a
dummy kvm_irqchip_release_virq as virtio-pci references (but does not
use) it.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Acked-by: Ben Collins <bcollins at ubuntu.com>
Tested-by: Andreas Färber <afaerber at suse.de>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 721589dd74e7d4771a5b996cfd8e1f79fc10f3a3
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue Jun 5 09:05:51 2012 +0800
Revert "Revert "rtl8139: do the network/host communication only in normal operating mode""
This reverts commit 9c92bf7f6c3f675e60b8ba8a5287bb88ea1eac36.
Per Jason's request.
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit b7e516ce04fecf260e7c0893b0afb3ff24a40358
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 15:43:31 2012 +0200
Kill off cpu_state_reset()
In commit 1bba0dc932e8826a7d030df3767daf0bc339f9a2 cpu_reset()
was renamed to cpu_state_reset(), to allow introducing a new cpu_reset()
that would operate on QOM objects.
All callers have been updated except for one in target-mips, so drop all
implementations except for the one in target-mips and move the
declaration there until MIPSCPU reset can be fully QOM'ified.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael Walle <michael at walle.cc> (for lm32)
Acked-by: Max Filippov <jcmvbkbc at gmail.com> (for xtensa)
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com> (for mb + cris)
Acked-by: Alexander Graf <agraf at suse.de> (for ppc)
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit ff18b7625f5f36ac19b69ed5f0f946093a407174
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:47:34 2012 +0200
linux-user: Use cpu_reset() after cpu_init() / cpu_copy()
Eliminates cpu_state_reset() usage.
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit fdcb4fb6854e958b633dd8806e4ee1b6e7cea36f
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:28:09 2012 +0200
bsd-user: Use cpu_reset() in after cpu_init()
Eliminates cpu_state_reset() usage.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit c537d79cc523f6fa29f70a7055a93e2c128beb20
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 02:36:04 2012 +0200
leon3: Store SPARCCPU in ResetData
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit 60ad07335697071ae8e183716171f59202c3c466
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 02:33:34 2012 +0200
leon3: Use cpu_sparc_init() to obtain SPARCCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit 403d7a2d734e1a8237a0d0db11110ece2aad28d8
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 03:41:16 2012 +0200
sun4u: Store SPARCCPU in ResetData
We can now use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit f9d1465f5bd11e27099459ab557f646802b11bd1
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 03:33:52 2012 +0200
sun4u: Let cpu_devinit() return SPARCCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit 8ebdf9dcc6036171a9f8bac3fe8dc459725a3e83
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 03:29:49 2012 +0200
sun4u: Use cpu_sparc_init() to obtain SPARCCPU
This prepares using it in sun4uv_init().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit 5414dec6353b24b22480798f08ddc0f110fcbb7f
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 03:21:31 2012 +0200
sun4m: Pass SPARCCPU to {main,secondary}_cpu_reset()
We can now use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit 8968f588e3e42183a49802f1fa18af0f95cf5ba5
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 03:14:37 2012 +0200
sun4m: Use cpu_sparc_init() to obtain SPARCCPU
Needed for {main,secondary}_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit e59be77a5b88510ceca87335ee9f241ded566ae2
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 03:12:35 2012 +0200
target-sparc: Let cpu_sparc_init() return SPARCCPU
Make include paths for cpu-qom.h consistent, so that SPARCCPU can be
used in cpu.h.
Turn cpu_init macro into a static inline function returning
CPUSPARCState for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Blue Swirl <blauwirbel at gmail.com>
commit c356a1bcc0b609125cb540dae3796a3618441300
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:39:23 2012 +0200
cpu-exec: Use cpu_reset() in cpu_exec() for TARGET_PPC
CPUState will be needed for all targets in the future, so place it into
the main variable declaration block.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit f8031482d72b61b86b3f9165d50303fba18480d2
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 18:20:07 2012 +0200
virtex_ml507: Pass PowerPCCPU to main_cpu_reset()
Allows us to call cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 68281699ac0218a2446f30ebf2e1191ae65bb162
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:59:06 2012 +0200
virtex_ml507: Let ppc440_init_xilinx() return PowerPCCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit d1d4938ba88e876cb9e46885f10f38d63eb1581c
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:57:13 2012 +0200
virtex_ml507: Use cpu_ppc_init() to obtain PowerPCCPU
Needed to change ppc440_init_xilinx() return type.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 5c3e735f9b46582828d5d0606174ab1f487da4d0
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:46:13 2012 +0200
ppc_prep: Pass PowerPCCPU to ppc_prep_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit a9bf3df02114563902cd9aa585457f912434e3bc
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:45:09 2012 +0200
ppc_prep: Use cpu_ppc_init() to obtain PowerPCCPU
Needed for ppc_prep_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit cd79664f76cd3ddabef92f99eef82db376ab137d
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:42:23 2012 +0200
ppc_oldworld: Pass PowerPCCPU to ppc_heathrow_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 72c33dd7144ed5967db7969683454a5cb230f5f9
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:38:41 2012 +0200
ppc_oldworld: Use cpu_ppc_init() to obtain PowerPCCPU
Needed for ppc_heathrow_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 6680988c3037d88763ecbec3fecb4f8c0c4187d2
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:30:25 2012 +0200
ppc_newworld: Pass PowerPCCPU to ppc_core99_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 8f8204ecb7514a384f9e3776b16ef274ddf1e221
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:29:07 2012 +0200
ppc_newworld: Use cpu_ppc_init() to obtain PowerPCCPU
Needed for ppc_core99_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 90cb09d9d3c2fffc5722d091c059702e2cd089f5
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:22:20 2012 +0200
ppc4xx_devs: Pass PowerPCCPU to ppc4xx_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 572747136d20bc7e5e2c5a7c54af4aa44b6f42e2
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:20:11 2012 +0200
ppc4xx_devs: Use cpu_ppc_init() to obtain PowerPCCPU
Needed for ppc4xx_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 182fbbf218aab161051c3fbe9d27a9fa45d24064
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 16:39:39 2012 +0200
ppc440_bamboo: Pass PowerPCCPU to main_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 322164e0dba9eeb1264a923c9bfafd7663fba8aa
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 16:35:51 2012 +0200
ppc440_bamboo: Use cpu_ppc_init() to obtain PowerPCCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 5b2038e04965a4126a31b7b71cc315efe50a9c8e
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 17:49:38 2012 +0200
spapr: Pass PowerPCCPU to spapr_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 05769733e046e01a08696bcdf0beae8284fc1662
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 05:45:10 2012 +0200
spapr: Use cpu_ppc_init() to obtain PowerPCCPU
Needed for spapr_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 38f92da6e7b07e8ffa0681b60ad314c568f9fd21
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 02:09:06 2012 +0200
ppce500_mpc8544ds: Pass PowerPCCPU to mpc8544ds_cpu_reset[_sec]
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit 397b457d869fbd5bbe2793c3066bb6bc92845932
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 05:43:05 2012 +0200
target-ppc: Let cpu_ppc_init() return PowerPCCPU
Adapt e500 mpc8544ds machine accordingly.
Turn cpu_init() into a static inline function returning CPUPPCState for
backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
commit fa156e5127d367987289e90563cad4c4ca83a2d8
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:23:25 2012 +0200
mips_r4k: Store MIPSCPU in ResetData
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 9ac67e2168a6f1d801c6ca1dd856fe83552021d5
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:21:43 2012 +0200
mips_r4k: Use cpu_mips_init() to obtain MIPSCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 2d44fc8e2ed1e1efff6ea73de0aea75c44262459
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:19:45 2012 +0200
mips_mipssim: Store MIPSCPU in ResetData
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 7ee274c1937deccfaaa0c98389349eb3e9a6c90d
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:17:49 2012 +0200
mips_mipssim: Use cpu_mips_init() to obtain MIPSCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 1004ee8d26ea8584be26cce0212cec68d5d93117
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:14:00 2012 +0200
mips_malta: Pass MIPSCPU to main_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 7688b134b8a47a615529b7caaae49da3cf91dcca
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:11:48 2012 +0200
mips_malta: Use cpu_mips_init() to obtain MIPSCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit f37f435a3ea16d7d64a0971b40d2269020348d7b
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:06:50 2012 +0200
mips_jazz: Pass MIPSCPU to main_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Hervé Poussineau <hpoussin at reactos.org>
commit 6bd8da655a7a71487e22ea003e652b001fbd96f2
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 14:05:42 2012 +0200
mips_jazz: Use cpu_mips_init() to obtain MIPSCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Hervé Poussineau <hpoussin at reactos.org>
commit 800cf598f98db86da7b30359ae8b173a1efc1cea
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 13:56:22 2012 +0200
mips_fulong2e: Pass MIPSCPU to main_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit f0f803669701a39e29f0daf62a729f7f3954a2a3
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 13:54:41 2012 +0200
mips_fulong2e: Use cpu_mips_cpu() to obtain MIPSCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 30bf942d8cd822b22530be602084a0810db45936
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 13:33:04 2012 +0200
target-mips: Let cpu_mips_init() return MIPSCPU
Turn cpu_init macro into a static inline function returning CPUMIPSState
for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit fca1be7cbcb8535fd9f6de707ac81878f34d5470
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 12:53:17 2012 +0200
target-mips: Use cpu_reset() in do_interrupt()
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 3bd4122ef61b3276edc79b700f0e18de2ff673f5
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 13:06:10 2012 +0200
target-mips: Use cpu_reset() in cpu_mips_init()
Commit 0f71a7095db6bc055bc5bb520d85ea650cca8a33 (target-mips: QOM'ify
CPU) hooked up cpu_state_reset() to CPUClass::reset(). Dropping the
introduction of subclasses for 1.1, due to mips_def_t the reset code
could not be QOM'ified yet, i.e. cpu_state_reset() will not forward to
CPUClass::reset().
Update cpu_mips_init() with cpu_reset() nontheless, indirectly calling
cpu_state_reset(), so that generic code can be converted to call
cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 868bac81d76b6149b246731945de426aee6448be
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 18:40:14 2012 +0200
r2d: Store SuperHCPU in ResetData
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit fd2f410b375a3813b827633c79c2c45ab9e7089a
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 18:38:01 2012 +0200
r2d: Use cpu_sh4_init() to obtain SuperHCPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 445e957194807aa9eb1d02c23430dbb0c6bac34e
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 18:35:09 2012 +0200
target-sh4: Let cpu_sh4_init() return SuperHCPU
Turn cpu_init macro into a static inline function returning
CPUSH4State for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit e5fe7a34d421eb97fc3b69f58d8e91f4679ffb41
Author: Andreas Färber <afaerber at suse.de>
Date: Wed May 2 19:37:34 2012 +0200
pc: Pass X86CPU to pc_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Reviewed-by: Igor Mammedov <imammedo at redhat.com>
commit 608911acac53f08dfaaf1878f56d4e32ee572ce4
Author: Andreas Färber <afaerber at suse.de>
Date: Wed May 2 18:49:27 2012 +0200
pc: Use cpu_x86_init() to obtain X86CPU
Needed for pc_cpu_reset().
Also change return type to X86CPU.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Reviewed-by: Igor Mammedov <imammedo at redhat.com>
commit b47ed9969fb12527c40aa507e165061c20e21836
Author: Andreas Färber <afaerber at suse.de>
Date: Wed May 2 18:42:46 2012 +0200
target-i386: Let cpu_x86_init() return X86CPU
Turn cpu_init macro into a static inline function returning CPUX86State
for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Reviewed-by: Igor Mammedov <imammedo at redhat.com>
commit 232fc23bed97f92b939d5b2802a481c1dea5991b
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 01:14:41 2012 +0200
target-i386: Pass X86CPU to do_cpu_{init,sipi}()
Allows to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Reviewed-by: Igor Mammedov <imammedo at redhat.com>
commit bf494367fa77b5ed872d8add50677542a7141836
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 12:30:53 2012 +0200
microblaze_boot: Pass MicroBlazeCPU to microblaze_load_kernel()
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Also pass it through to its reset callbacks, while at it.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 3ed607333e979a1637cc08af66858b7b37bd37ff
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 12:20:29 2012 +0200
petalogix_s3adsp1800_mmu: Use cpu_mb_init() to obtain MicroBlazeCPU
Needed for microblaze_load_kernel().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit a9480e5d32f8746363c361cd86878cc33b4ab597
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 12:19:03 2012 +0200
petalogix_ml605: Use cpu_mb_init() to obtain MicroBlazeCPU
Needed for microblaze_load_kernel().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit b33ab1f7a965a9765dc9a5b9f061c44eee2e25e2
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 12:14:03 2012 +0200
target-microblaze: Let cpu_mb_init() return MicroBlazeCPU
Since qemu_init_vcpu() is no-op for CONFIG_USER_ONLY drop the env
variable that is now unused there.
Turn cpu_init macro into a static inline function returning CPUMBState
for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 1584aafd02b949d6fa554e93bd70e5940217b66c
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 11:58:29 2012 +0200
cris-boot: Pass CRISCPU to main_cpu_reset().
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 5935664fc06f1b6c0276c11e736608ac7ccebe5f
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 11:57:07 2012 +0200
cris-boot: Pass CRISCPU to cris_load_image()
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit ddeb9ae5fa4270356d7cfdde279e7cbfbba8448d
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 11:50:35 2012 +0200
axis_dev88: Use cpu_cris_init() to obtain CRISCPU
Needed for cris_load_image().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 9fca5636e1883346418d437320f43b0c34cb6cc1
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 11:37:07 2012 +0200
target-cris: Let cpu_cris_init() return CRISCPU
Turn cpu_init macro into a static inline function returning CPUCRISState
for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit dd10ce6d8a437b8c5d2ce9c193a3b64080038c43
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 11:45:32 2012 +0200
target-cris: Reindent cpu_cris_init()
Judging by TCG variable initialization it used 8-char tabs; use 4 spaces
instead. Also remove trailing whitespace.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit eded12679dcf4c205c00bebfb77fb9883d2a2f68
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:33:05 2012 +0200
xtensa_lx60: Pass XtensaCPU to lx60_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Max Filippov <jcmvbkbc at gmail.com>
commit adbb0f75f0be1d747503e5b19ce6a7efa37cf562
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:31:25 2012 +0200
xtensa_lx60: Use cpu_xtensa_init() to obtain XtensaCPU
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Max Filippov <jcmvbkbc at gmail.com>
commit 11e7bfd7e04346f3acd77150ac82784f58bbe89f
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:28:19 2012 +0200
xtensa_sim: Pass XtensaCPU to sim_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Max Filippov <jcmvbkbc at gmail.com>
commit 06d26274cdd2f3ce79ba91dbf2dd0f535cbabd3c
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:26:57 2012 +0200
xtensa_sim: Use cpu_xtensa_init() to obtain XtensaCPU
Needed for sim_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Max Filippov <jcmvbkbc at gmail.com>
commit 15be3171392a14cb90abd89ac7310681556f736e
Author: Andreas Färber <afaerber at suse.de>
Date: Sun May 6 12:41:53 2012 +0200
target-xtensa: Let cpu_xtensa_init() return XtensaCPU
Make the include paths for cpu-qom.h consistent to allow using XtensaCPU
in cpu.h.
Turn cpu_init macro into a static inline function returning
CPUXtensaState for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Max Filippov <jcmvbkbc at gmail.com>
commit f6932a867d862a5d39506701e9b9d8abcdf1f4ff
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:05:02 2012 +0200
milkymist: Store LM32 in ResetInfo
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael Walle <michael at walle.cc>
commit 1328cc01f18b416666cdc65c72efec33a6dce396
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:03:24 2012 +0200
milkymist: Use cpu_lm32_init() to obtain LM32CPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael Walle <michael at walle.cc>
commit b143559655d0b558627cd7b6f71ad350451e3b3b
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:00:34 2012 +0200
lm32_boards: Store LM32CPU in ResetInfo
Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael Walle <michael at walle.cc>
commit 47dc4fa211aa3eaf408c9af521dcb3ad8e98ab65
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 18:55:25 2012 +0200
lm32_boards: Use cpu_lm32_init() to obtain LM32CPU
Needed for main_cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael Walle <michael at walle.cc>
commit 0347d689f7339ec925f3a2dcb2c3bcad4d6ef315
Author: Andreas Färber <afaerber at suse.de>
Date: Sun May 6 12:40:55 2012 +0200
target-lm32: Let cpu_lm32_init() return LM32CPU
Make the include paths for cpu-qom.h consistent to allow using LM32CPU
in cpu.h.
Turn cpu_init macro into a static inline function returning CPULM32State
for backwards compatibility.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael Walle <michael at walle.cc>
commit 351d56662175bd00473326b0460516c94a427876
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 12:40:39 2012 +0200
arm_boot: Pass ARMCPU to do_cpu_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Peter Maydell <peter.maydell at linaro.org>
commit 31363f12f56c98015a9e98dc46658f17b6477d24
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 16:11:34 2012 +0200
armv7m: Pass ARMCPU to armv7m_reset()
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Peter Maydell <peter.maydell at linaro.org>
commit 0f37c99b27b7e89c77d30c82f46485fd2bc61ab8
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 16:09:50 2012 +0200
armv7m: Use cpu_arm_init() to obtain ARMCPU
Needed for armv7m_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Peter Maydell <peter.maydell at linaro.org>
commit 5f4ef08b20ece1b3711bcfb3751efb13986d17e5
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 00:42:39 2012 +0200
omap: Use cpu_arm_init() to store ARMCPU in omap_mpu_state_s
Fix tab indentations of comments, add braces, use cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Peter Maydell <peter.maydell at linaro.org>
commit 43824588af2fa77f9586e16ef2f01d1990c6460e
Author: Andreas Färber <afaerber at suse.de>
Date: Thu May 3 23:47:04 2012 +0200
pxa2xx: Use cpu_arm_init() and store ARMCPU
Also use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Peter Maydell <peter.maydell at linaro.org>
commit df90dadb4507afa31fdc85f94d8571e7aa25b80b
Author: Andreas Färber <afaerber at suse.de>
Date: Fri May 4 19:14:38 2012 +0200
target-arm: Use cpu_reset() in cpu_arm_init()
Commit 3c30dd5a68e9fee6af67cfd0d14ed7520820f36a (target-arm: Move reset
handling to arm_cpu_reset) QOM'ified CPU reset. Complete it by replacing
cpu_state_reset() with cpu_reset().
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Peter Maydell <peter.maydell at linaro.org>
commit 4860853d60ecea44b65e9cdefce980de3a641dce
Author: Daniel P. Berrange <berrange at redhat.com>
Date: Mon May 21 17:59:51 2012 +0100
Add 'query-events' command to QMP to query async events
Sometimes it is neccessary for an application to determine
whether a particular QMP event is available, so they can
decide whether to use compatibility code instead. This
introduces a new 'query-events' command to QMP to do just
that
{ "execute": "query-events" }
{"return": [{"name": "WAKEUP"},
{"name": "SUSPEND"},
{"name": "DEVICE_TRAY_MOVED"},
{"name": "BLOCK_JOB_CANCELLED"},
{"name": "BLOCK_JOB_COMPLETED"},
...snip...
{"name": "SHUTDOWN"}]}
* monitor.c: Turn MonitorEvent -> string conversion
into a lookup from a static table of constant strings.
Add impl of qmp_query_events monitor command handler
* qapi-schema.json, qmp-commands.hx: Define contract of
query-events command
Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 5f96415527e4f25dc83cfc458c46e5bcbfee79ba
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Mon Apr 16 14:36:32 2012 -0300
qapi: convert netdev_del
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 928059a37b8e1f152962431fb846f39597b63c36
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Apr 18 17:34:15 2012 -0300
qapi: convert netdev_add
This is not a full QAPI conversion, but an intermediate step.
In essence, do_netdev_add() is split into three functions:
1. netdev_add(): performs the actual work. This function is fully
converted to Error (thus, it's "qapi-friendly")
2. qmp_netdev_add(): the QMP front-end for netdev_add(). This is
coded by hand and not auto-generated (gen=no in the schema). The
reason for this it's a lot easier and simpler to with QemuOpts
this way
3. hmp_netdev_add(): HMP front-end.
This design was suggested by Paolo Bonzini.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 4559a1dbcc15a10482de822e2839645a1819ef6f
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Fri Apr 20 16:50:25 2012 -0300
net: net_client_init(): use error_set()
Callers are changed to use qerror_report_err() to keep their QError
semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 42dcc547e1982f31d0f678e02f0aae5be570384a
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Thu Apr 12 13:20:40 2012 -0300
net: purge the monitor object from all init functions
The only backend that really uses it is the socket one, which calls
monitor_get_fd(). But it can use 'cur_mon' instead.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 60d5666f7d4eec6df4a3d066769009f0c1a685bf
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 28 14:16:37 2012 -0300
qemu-config: introduce qemu_find_opts_err()
This is like qemu_find_opts(), except that it takes an Error argument.
This new function allows for a incremental conversion of code using
qemu_find_opts().
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 2ac20613384c1c66bc27302e1e38698fa238bb2f
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 28 14:14:17 2012 -0300
qemu-config: find_list(): use error_set()
Note that qemu_find_opts() and qemu_config_parse() need to call
error_report() to maintain their semantics on error.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 8ff15d4a2dec25167013d222f1c4aaef8595e02e
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 28 14:01:15 2012 -0300
qerror: introduce QERR_INVALID_OPTION_GROUP
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 4e89978e2021c0431aad9898823eb9d3526e9018
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Apr 18 17:24:01 2012 -0300
qemu-option: qemu_opts_from_qdict(): use error_set()
do_device_add() and do_netdev_add() call qerror_report_err() to maintain
their QError semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 384f2139ff681cd3c26de365417cff46c186b5f0
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 21 16:17:21 2012 -0300
qemu-option: introduce qemu_opt_set_err()
This is like qemu_opt_set(), except that it takes an Error argument.
This new function allows for a incremental conversion of code using
qemu_opt_set().
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 584d4064c6de5c9f2f555d7afebbbde59c741b8f
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 21 16:13:24 2012 -0300
qemu-option: opt_set(): use error_set()
The functions qemu_opt_set() and opts_do_parse() both call opt_set(),
but their callers expect QError semantics. Thus, both functions call
qerro_report_err() to keep the expected semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 299528668c759f40b2cc78914e2ca2c832f82834
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Thu Apr 12 11:58:57 2012 -0300
qemu-option: qemu_opts_validate(): use error_set()
net_client_init() propagates the error up by calling qerror_report_err(),
because its users expect QError semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 6c5194046a34ff9f84e294d4ef926ec509741493
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 21 15:21:26 2012 -0300
qemu-option: qemu_opt_parse(): use error_set()
The functions opt_set() and qemu_opts_validate() both call qemu_opt_parse(),
but their callers expect QError semantics. Thus, both functions call
qerro_report_err() to keep the expected semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit ec7b2ccb4a6366784ff2c793b43b4c0940909f44
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 21 15:03:45 2012 -0300
qemu-option: parse_option_size(): use error_set()
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit cf62adfabf29c0b7833a5306023cab5c0bc3b6d5
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 21 14:54:42 2012 -0300
qemu-option: parse_option_bool(): use error_set()
Note that set_option_parameter() callers still expect automatic error
reporting with QError, so set_option_parameter() calls
qerror_report_err() to keep the same semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 2f39df5b0da6a030cc04c80e4e78ccd7002176b0
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed Mar 21 14:37:44 2012 -0300
qemu-option: parse_option_number(): use error_set()
Note that qemu_opt_parse() callers still expect automatic error reporting
with QError, so qemu_opts_parse() calls qerror_report_err() to keep the
same semantics.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 8be7e7e4c72c048b90e3482557954a24bba43ba7
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue Mar 20 15:51:57 2012 -0300
qemu-option: qemu_opts_create(): use error_set()
This commit converts qemu_opts_create() from qerror_report() to
error_set().
Currently, most calls to qemu_opts_create() can't fail, so most
callers don't need any changes.
The two cases where code checks for qemu_opts_create() erros are:
1. Initialization code in vl.c. All of them print their own
error messages directly to stderr, no need to pass the Error
object
2. The functions opts_parse(), qemu_opts_from_qdict() and
qemu_chr_parse_compat() make use of the error information and
they can be called from HMP or QMP. In this case, to allow for
incremental conversion, we propagate the error up using
qerror_report_err(), which keeps the QError semantics
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-By: Laszlo Ersek <lersek at redhat.com>
commit 783e9b4826b95e53e33c42db6b4bd7d89bdff147
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:10:47 2012 +0800
introduce a new monitor command 'dump-guest-memory' to dump guest's memory
The command's usage:
dump-guest-memory [-p] protocol [begin] [length]
The supported protocol can be file or fd:
1. file: the protocol starts with "file:", and the following string is
the file's path.
2. fd: the protocol starts with "fd:", and the following string is the
fd's name.
Note:
1. If you want to use gdb to process the core, please specify -p option.
The reason why the -p option is not default is:
a. guest machine in a catastrophic state can have corrupted memory,
which we cannot trust.
b. The guest machine can be in read-mode even if paging is enabled.
For example: the guest machine uses ACPI to sleep, and ACPI sleep
state goes in real-mode.
2. If you don't want to dump all guest's memory, please specify the start
physical address and the length.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 68f4730c714b7c30ca912d7c03e199f181739da0
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:10:05 2012 +0800
make gdb_id() generally avialable and rename it to cpu_index()
The following patch also needs this API, so make it generally avialable.
The function gdb_id() will not be used in gdbstub.c now, so its name is
not suitable, and rename it to cpu_index()
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 0038ffb09692955b8f8f363958cbf58c205ae772
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:09:36 2012 +0800
target-i386: Add API to get note's size
We should know where the note and memory is stored before writing
them to vmcore. If we know this, we can avoid using lseek() when
creating vmcore.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 25ae9c1d8bbfeb6c00eccb4297a5937d8375a44a
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:08:56 2012 +0800
target-i386: add API to get dump info
Dump info contains: endian, class and architecture. The next
patch will use these information to create vmcore. Note: on
x86 box, the class is ELFCLASS64 if the memory is larger than 4G.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 90166b71c4d75823b48a132e9394af35b9c90aaf
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:08:22 2012 +0800
target-i386: Add API to write cpu status to core file
The core file has register's value. But it does not include all registers value.
Store the cpu status into QEMU note, and the user can get more information
from vmcore. If you change QEMUCPUState, please count up QEMUCPUSTATE_VERSION.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 9fecbed0c03ddad63c27f1622e2002fdfc2f45e4
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:07:48 2012 +0800
target-i386: Add API to write elf notes to core file
The core file contains register's value. These APIs write registers to
core file, and them will be called in the following patch.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 2b05ab5229f880720ab6ca0e52577089889c10f9
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:07:07 2012 +0800
Add API to get memory mapping without do paging
crash does not need the virtual address and physical address mapping, and the
mapping does not include the memory that is not referenced by the page table.
crash does not use the virtual address, so we can create the mapping for all
physical memory(virtual address is always 0). This patch provides a API to do
this thing, and it will be used in the following patch.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit c517076dae5540241a5d8947471b46fe3248f6cd
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:06:40 2012 +0800
Add API to get memory mapping
Add API to get all virtual address and physical address mapping.
If the guest doesn't use paging, the virtual address is equal to the phyical
address. The virtual address and physical address mapping is for gdb's user, and
it does not include the memory that is not referenced by the page table. So if
you want to use crash to anaylze the vmcore, please do not specify -p option.
the reason why the -p option is not default explicitly: guest machine in a
catastrophic state can have corrupted memory, which we cannot trust.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 31a2207a8e1c39bcf88e527ac62f4e12316920a4
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:05:42 2012 +0800
Add API to check whether paging mode is enabled
This API will be used in the following patch.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit fae001f55190b4de511269ca63eb635646d1c7c9
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:04:57 2012 +0800
implement cpu_get_memory_mapping()
Walk cpu's page table and collect all virtual address and physical address mapping.
Then, add these mapping into memory mapping list. If the guest does not use paging,
it will do nothing. Note: the I/O memory will be skipped.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 76f3553883b868e99c78212b9d12309e8e1e5d81
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:04:18 2012 +0800
Add API to check whether a physical address is I/O address
This API will be used in the following patch.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 80167a8a31d7c42e3e33ec23592eb14938c88098
Author: Wen Congyang <wency at cn.fujitsu.com>
Date: Mon May 7 12:03:46 2012 +0800
Add API to create memory mapping list
The memory mapping list stores virtual address and physical address mapping.
The virtual address and physical address are contiguous in the mapping.
The folloing patch will use this information to create PT_LOAD in the vmcore.
Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
commit 8cc9b43f7c5f826b39af4b012ad89bb55faac29c
Author: Peter A. G. Crosthwaite <peter.crosthwaite at petalogix.com>
Date: Fri Jun 1 13:23:28 2012 +1000
target-microblaze: lwx/swx: first implementation
Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite at petalogix.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 9c92bf7f6c3f675e60b8ba8a5287bb88ea1eac36
Author: Jason Wang <jasowang at redhat.com>
Date: Thu May 10 16:37:22 2012 +0800
Revert "rtl8139: do the network/host communication only in normal operating mode"
This reverts commit ff71f2e8cacefae99179993204172bc65e4303df. This is because
the linux 8139cp driver would leave the card in "Config Register Write Enable"
mode after the eeprom were read or write ( which is unexpected in the spec
). Also a physical 8139 card can still DMA into host memory in modes other than
Normal mode, so we need revert this commit to align with the behavior of
physical card.
The issue of 8139cp driver should be fixed in linux seperately.
Signed-off-by: Jason Wang <jasowang at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 74f4d2279b12a970d499558e4c38421724777827
Merge: 2eb02f28269dc47b38aa3becbaff1cc6300210da 7d37d351dffee60fc7048bbfd8573421f15eb724
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Sun Jun 3 07:56:23 2012 +0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
virtio/vhost: Add support for KVM in-kernel MSI injection
msix: Add msix_nr_vectors_allocated
kvm: Enable use of kvm_irqchip_in_kernel in hwlib code
kvm: Introduce kvm_irqchip_add/remove_irqfd
kvm: Make kvm_irqchip_commit_routes an internal service
kvm: Publicize kvm_irqchip_release_virq
kvm: Introduce kvm_irqchip_add_msi_route
kvm: Rename kvm_irqchip_add_route to kvm_irqchip_add_irq_route
msix: Introduce vector notifiers
msix: Invoke msix_handle_mask_update on msix_mask_all
msix: Factor out msix_get_message
kvm: update vmxcap for EPT A/D, INVPCID, RDRAND, VMFUNC
kvm: Enable in-kernel irqchip support by default
kvm: Add support for direct MSI injections
kvm: Update kernel headers
kvm: x86: Wire up MSI support for in-kernel irqchip
pc: Enable MSI support at APIC level
kvm: Introduce basic MSI support for in-kernel irqchips
Introduce MSIMessage structure
kvm: Refactor KVMState::max_gsi to gsi_count
commit 2eb02f28269dc47b38aa3becbaff1cc6300210da
Merge: a854972f8cdec0148087789d62777d8f7176933d 4bb9c939a57103898f5a51aa6a7336eb3320d923
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Sun Jun 3 07:54:05 2012 +0800
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony:
ahci: SATA FIS is 20 bytes, not 0x20
virtio-blk: Fix geometry sector calculation
block: prevent snapshot mode $TMPDIR symlink attack
sheepdog: fix return value of do_load_save_vm_state
virtio: Fix compiler warning for non Linux hosts
commit a854972f8cdec0148087789d62777d8f7176933d
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Fri Jun 1 16:56:16 2012 +0800
Update version to open the 1.2 development branch
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 78260a5f085d34e4ae46e42bdc010dfcd6f6cc31
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Fri Jun 1 16:55:34 2012 +0800
Update version for 1.1.0 release
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit b3dbb9546ade0108156a04b4983cd3057fd77563
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu May 31 08:53:39 2012 +0800
Update version for 1.1.0-rc4 release
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 272d28ecf2a2158c4bd89b42e5f45eb9e6201fde
Merge: d6111501c15972e48b20a60ab0fdd726e84a3ed1 6f12926142bd3ab5bea700decdeb59a16b9cd8ae
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu May 31 08:49:46 2012 +0800
Merge remote-tracking branch 'origin/master' into staging
* origin/master:
pc-bios: Update OpenBIOS images
commit 6f12926142bd3ab5bea700decdeb59a16b9cd8ae
Author: Blue Swirl <blauwirbel at gmail.com>
Date: Wed May 30 17:04:41 2012 +0000
pc-bios: Update OpenBIOS images
Update OpenBIOS images to r1060 built from submodule.
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 4bb9c939a57103898f5a51aa6a7336eb3320d923
Author: Daniel Verkamp <daniel at drv.nu>
Date: Tue May 22 16:26:42 2012 -0700
ahci: SATA FIS is 20 bytes, not 0x20
As in the SATA and AHCI specifications, a FIS is 5 Dwords of 4 bytes
each, which comes to 20 bytes (decimal), not 0x20.
Signed-off-by: Daniel Verkamp <daniel at drv.nu>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 136be99e6e2130d3cd960b6b7d0ca86b6f011e5f
Author: Christian Borntraeger <borntraeger at de.ibm.com>
Date: Thu May 24 13:22:55 2012 +0200
virtio-blk: Fix geometry sector calculation
Currently the sector value for the geometry is masked, even if the
user usesa command line parameter that explicitely gives a number.
This breaks dasd devices on s390. A dasd device can have
a physical block size of 4096 (== same for logical block size)
and a typcial geometry of 15 heads and 12 sectors per cyl.
The ibm partition detection relies on a correct geometry
reported by the device. Unfortunately the current code changes
12 to 8. This would be necessary if the total size is
not a multiple of logical sector size, but for dasd this
is not the case.
This patch checks the device size and only applies sector
mask if necessary.
Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
CC: Christoph Hellwig <hch at lst.de>
Reviewed-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit c2d76497b6eafcaedc806e07804e7bed55a98a0b
Author: Jim Meyering <jim at meyering.net>
Date: Mon May 28 09:27:54 2012 +0200
block: prevent snapshot mode $TMPDIR symlink attack
In snapshot mode, bdrv_open creates an empty temporary file without
checking for mkstemp or close failure, and ignoring the possibility
of a buffer overrun given a surprisingly long $TMPDIR.
Change the get_tmp_filename function to return int (not void),
so that it can inform its two callers of those failures.
Also avoid the risk of buffer overrun and do not ignore mkstemp
or close failure.
Update both callers (in block.c and vvfat.c) to propagate
temp-file-creation failure to their callers.
get_tmp_filename creates and closes an empty file, while its
callers later open that presumed-existing file with O_CREAT.
The problem was that a malicious user could provoke mkstemp failure
and race to create a symlink with the selected temporary file name,
thus causing the qemu process (usually root owned) to open through
the symlink, overwriting an attacker-chosen file.
This addresses CVE-2012-2652.
http://bugzilla.redhat.com/CVE-2012-2652
Signed-off-by: Jim Meyering <meyering at redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha at linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 6f3c714eb7730630241fd0b33b799352d7feb876
Author: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Date: Wed May 30 01:05:15 2012 +0900
sheepdog: fix return value of do_load_save_vm_state
bdrv_save_vmstate and bdrv_load_vmstate should return the vmstate size
on success, and -errno on error.
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 47ce9ef7f89032c4079bf5132a12d1bfd4d5bca5
Author: Stefan Weil <sw at weilnetz.de>
Date: Tue May 22 23:23:32 2012 +0200
virtio: Fix compiler warning for non Linux hosts
The local variables ret, i are only used if __linux__ is defined.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit d6111501c15972e48b20a60ab0fdd726e84a3ed1
Merge: eba25057b9a5e19d10ace2bc7716667a31297169 9e2fa418fbe71dd472fe5a9cd89ca26d5b594920
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Wed May 30 15:02:03 2012 +0800
Merge remote-tracking branch 'mdroth/qga-pull-5-29-12-v2' into staging
* mdroth/qga-pull-5-29-12-v2:
qemu-ga: avoid blocking on atime update when reading /etc/mtab
qemu-ga: Fix use of environ on Darwin
commit eba25057b9a5e19d10ace2bc7716667a31297169
Author: Jim Meyering <jim at meyering.net>
Date: Mon May 28 09:27:54 2012 +0200
block: prevent snapshot mode $TMPDIR symlink attack
In snapshot mode, bdrv_open creates an empty temporary file without
checking for mkstemp or close failure, and ignoring the possibility
of a buffer overrun given a surprisingly long $TMPDIR.
Change the get_tmp_filename function to return int (not void),
so that it can inform its two callers of those failures.
Also avoid the risk of buffer overrun and do not ignore mkstemp
or close failure.
Update both callers (in block.c and vvfat.c) to propagate
temp-file-creation failure to their callers.
get_tmp_filename creates and closes an empty file, while its
callers later open that presumed-existing file with O_CREAT.
The problem was that a malicious user could provoke mkstemp failure
and race to create a symlink with the selected temporary file name,
thus causing the qemu process (usually root owned) to open through
the symlink, overwriting an attacker-chosen file.
This addresses CVE-2012-2652.
http://bugzilla.redhat.com/CVE-2012-2652
Reviewed-by: Stefan Hajnoczi <stefanha at linux.vnet.ibm.com>
Signed-off-by: Jim Meyering <meyering at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit e78bd5ab07d65fec77fcae468b2836c79a836d49
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Tue May 29 11:20:31 2012 +0200
xhci: add usage info to docs
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 1643f2b232628905e8f32965ff36a87bd53b93c5
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Thu May 24 10:55:01 2012 +0200
vnc: fix segfault in vnc_display_pw_expire()
NULL pointer dereference in case no vnc server is configured.
Catch this and return -EINVAL like vnc_display_password() does.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 1352672860399b40965b5093dd026688979e60a5
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Mon May 21 11:27:02 2012 -0300
Expose CPUID leaf 7 only for -cpu host
Changes v2 -> v3;
- Check for kvm_enabled() before setting cpuid_7_0_ebx_features
Changes v1 -> v2:
- Use kvm_arch_get_supported_cpuid() instead of host_cpuid() on
cpu_x86_fill_host().
We should use GET_SUPPORTED_CPUID for all bits on "-cpu host"
eventually, but I am not changing all the other CPUID leaves because
we may not be able to test such an intrusive change in time for 1.1.
Description of the bug:
Since QEMU 0.15, the CPUID information on CPUID[EAX=7,ECX=0] is being
returned unfiltered to the guest, directly from the GET_SUPPORTED_CPUID
return value.
The problem is that this makes the resulting CPU feature flags
unpredictable and dependent on the host CPU and kernel version. This
breaks live-migration badly if migrating from a host CPU that supports
some features on that CPUID leaf (running a recent kernel) to a kernel
or host CPU that doesn't support it.
Migration also is incorrect (the virtual CPU changes under the guest's
feet) if you migrate in the opposite direction (from an old CPU/kernel
to a new CPU/kernel), but with less serious consequences (guests
normally query CPUID information only once on boot).
Fortunately, the bug affects only users using cpudefs with level >= 7.
The right behavior should be to explicitly enable those features on
[cpudef] config sections or on the "-cpu" command-line arguments. Right
now there is no predefined CPU model on QEMU that has those features:
the latest Intel model we have is Sandy Bridge.
I would like to get this fixed on 1.1, so I am submitting this patch,
that enables those features only if "-cpu host" is being used (as we
don't have any pre-defined CPU model that actually have those features).
After 1.1 is released, we can make those features properly configurable
on [cpudef] and -cpu configuration.
One problem is: with this patch, users with the following setup:
- Running QEMU 1.0;
- Using a cpudef having level >= 7;
- Running a kernel that supports the features on CPUID leaf 7; and
- Running on a CPU that supports some features on CPUID leaf 7
won't be able to live-migrate to QEMU 1.1. But for these users
live-migration is already broken (they can't live-migrate to hosts with
older CPUs or older kernels, already), I don't see how to avoid this
problem.
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 9e2fa418fbe71dd472fe5a9cd89ca26d5b594920
Author: Michael Roth <mdroth at linux.vnet.ibm.com>
Date: Tue May 29 10:08:50 2012 -0500
qemu-ga: avoid blocking on atime update when reading /etc/mtab
Currently we re-read/re-process /etc/mtab to get an updated list of
mounts when guest-fsfreeze-thaw is called. This can cause an atime
update on /etc/mtab, which will block if we're in a frozen state.
Instead, use /proc's version of mtab, which may not be up-to-date with
options passed via -o remount, but is compatible for our use cases since
we only care about the filesystem type.
Reported-by: Matsuda, Daiki <matsudadik at intellilink.co.jp>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit eecae14724b64d43f9a44b9b4e69143961c201a3
Author: Andreas Färber <andreas.faerber at web.de>
Date: Sun May 27 17:02:20 2012 +0200
qemu-ga: Fix use of environ on Darwin
Use _NSGetEnviron() helper to access the environment.
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Cc: Charlie Somerville <charlie at charliesomerville.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit a6de8ed80e1cf47d0f372e0856e6eeb6de9bbf0e
Author: Amos Kong <kongjianjun at gmail.com>
Date: Sun May 20 17:57:45 2012 +0800
pci: call object_unparent() before free_qdev()
Start VM with 8 multiple-function block devs, hot-removing
those block devs by 'device_del ...' would cause qemu abort.
| (qemu) device_del virti0-0-0
| (qemu) **
|ERROR:qom/object.c:389:object_delete: assertion failed: (obj->ref == 0)
It's a regression introduced by commit 57c9fafe
The whole PCI slot should be removed once. Currently only one func
is cleaned in pci_unplug_device(), if you try to remove a single
func by monitor cmd.
free_qdev() are called for all functions in slot,
but unparent_delete() is only called for one
function.
Signed-off-by: XXXX
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 9c3a596a03cc10c2d9097f057b9ccb9d557a4d5f
Author: Scott Moser <smoser at ubuntu.com>
Date: Mon Mar 26 15:27:00 2012 -0400
fix multiboot loading if load_end_addr == 0
The previous multiboot load code did not treat the case where
load_end_addr was 0 specially. The multiboot specification says the
following:
* load_end_addr
Contains the physical address of the end of the data segment.
(load_end_addr - load_addr) specifies how much data to load. This
implies that the text and data segments must be consecutive in the
OS image; this is true for existing a.out executable formats. If
this field is zero, the boot loader assumes that the text and data
segments occupy the whole OS image file.
Signed-off-by: Scott Moser <smoser at ubuntu.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 8294a64d7f9ecc428cd58ba36ad0b913084a8824
Author: Avi Kivity <avi at redhat.com>
Date: Wed May 9 18:23:06 2012 +0300
vga: fix vram double-mapping with -vga std and -M pc-0.12
With pc-0.12, we map the video RAM both through the PCI BAR (the guest does
this) and through a fixed mapping at 0xe0000000. The memory API doesn't allow
this double map, and aborts.
Fix by using an alias.
Reported-by: Michael Tokarev <mjt at tls.msk.ru>
Signed-off-by: Avi Kivity <avi at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 1c4ad9d2b4b5f2be08588a91e4193d13cc314282
Merge: dd86df756e02b684718dd5378725927361b0ad36 60b46aa2f3d40457d6f722cc79e3dbacd04b492f
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 29 06:54:16 2012 -0500
Merge remote-tracking branch 'afaerber-or/cocoa-for-upstream' into staging
* afaerber-or/cocoa-for-upstream:
cocoa: Suppress Cocoa frontend for -qtest
arch_init: Fix AltiVec build on Darwin/ppc
commit 60b46aa2f3d40457d6f722cc79e3dbacd04b492f
Author: Andreas Färber <andreas.faerber at web.de>
Date: Mon May 28 03:18:31 2012 +0200
cocoa: Suppress Cocoa frontend for -qtest
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
commit f283edc4827f6bfa82240e36433d7184ab106b0f
Author: Andreas Färber <andreas.faerber at web.de>
Date: Sun May 27 16:21:02 2012 +0200
arch_init: Fix AltiVec build on Darwin/ppc
Commit f29a56147b66845914d0a645bf9b4c5bb9a6af57 (implement
-no-user-config command-line option (v3)) introduced uses of bool
in arch_init.c. Shortly before that usage is support code for
AltiVec (conditional to __ALTIVEC__).
GCC's altivec.h may in a !__APPLE_ALTIVEC__ code path redefine bool,
leading to type mismatches. altivec.h recommends to #undef for C++
compatibility, but doing so in C leads to bool remaining undefined.
Fix by redefining bool to _Bool as mandated for stdbool.h by POSIX.
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Reviewed-by: Paolo Bonzini <pbonzini at redhat.com>
commit dd86df756e02b684718dd5378725927361b0ad36
Merge: 422831fc81a4565d9687bc00bac685261a5dd67a 180640ea071c98739b6cc55b8d03367bcb442b94
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 29 04:32:13 2012 -0500
Merge remote-tracking branch 'sstabellini/for_1.1_rc3' into staging
* sstabellini/for_1.1_rc3:
Call xc_domain_shutdown with the reboot flag when the guest requests a reboot.
xen: Fix PV-on-HVM
xen_disk: properly update stats in ioreq_release()
xen_disk: use bdrv_aio_flush instead of bdrv_flush
xen_disk: remove syncwrite option
xen: disable rtc_clock
xen: do not initialize the interval timer and PCSPK emulator
commit 422831fc81a4565d9687bc00bac685261a5dd67a
Merge: 306761537f03d31087dabe284523e08d050bc789 2c02cbf6e929c20545b46feb5ecde9c86877198a
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 29 04:31:29 2012 -0500
Merge remote-tracking branch 'mdroth/qga-pull-5-24-12' into staging
* mdroth/qga-pull-5-24-12:
qemu-ga: Fix missing environ declaration
configure: check if environ is declared
commit 306761537f03d31087dabe284523e08d050bc789
Merge: 7943df571ae402862a6ace3a2539bd93153317f4 7cd331617a48785faaf2aafe36db5c06285bfed8
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 29 04:30:49 2012 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony:
fdc-test: introduced qtest no_media_on_start and cmos qtest for floppy
fdc: fix media detection
fdc: floppy drive should be visible after start without media
qemu-iotests: mark 035 qcow2-only
qcow2: Check qcow2_alloc_clusters_at() return value
sheepdog: use heap instead of stack for BDRVSheepdogState
sheepdog: return -errno on error
sheepdog: mark image as snapshot when tag is specified
qemu-img: Explain how rebase operation can be used to perform a 'diff' operation.
qcow2: don't leak buffer for unexpected qcow_version in header
commit 7943df571ae402862a6ace3a2539bd93153317f4
Merge: d501f8478a3c12f50b8cf18214795f3d7c3d94bd 917cfc1f266b554ea9ab4d958fa048bd27bce58f
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 29 04:30:00 2012 -0500
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
* kiszka/queues/slirp:
slirp: Avoid redefining MAX_TCPOPTLEN
slirp: Avoid statements without effect on Big Endian host
slirp: Untangle TCPOLEN_* from TCPOPT_*
commit d501f8478a3c12f50b8cf18214795f3d7c3d94bd
Merge: 24f50d7ea5896a30b0e78f68884586bb8b40ff97 f4dfa67f04037c1b1a8f4e4ddc944c5ab308f35b
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 29 04:28:59 2012 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
* bonzini/scsi-next:
ISCSI: Switch to using READ16/WRITE16 for I/O to the LUN
ISCSI: Only call READCAPACITY16 for SBC devices, use READCAPACITY10 for MMC
ISCSI: get device type at connection time
ISCSI: change num_blocks to 64-bit
ISCSI: redo how we set up the events
scsi: declare vmstate_info_scsi_requests to be static
commit 917cfc1f266b554ea9ab4d958fa048bd27bce58f
Author: Andreas Färber <andreas.faerber at web.de>
Date: Mon May 28 19:52:35 2012 +0200
slirp: Avoid redefining MAX_TCPOPTLEN
MAX_TCPOPTLEN is being defined as 32. Darwin already has it as 40,
causing a warning. The value is only used to declare an array,
into which currently 4 bytes are written at most.
Therefore always override MAX_TCPOPTLEN for now.
Suggested-by: Jan Kiszka <jan.kiszka at web.de>
Reviewed-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
commit 9b24d8e987d1249836cd4bccebf7c3a33025b293
Author: Andreas Färber <andreas.faerber at web.de>
Date: Mon May 28 19:34:20 2012 +0200
slirp: Avoid statements without effect on Big Endian host
Darwin has HTON*/NTOH* macros that on BE simply return the argument.
This is incompatible with SLIRP's use of these macros as a statement.
Undefine the macros in the HOST_WORDS_BIGENDIAN code path to redefine
these macros as no-op, as already done when they were undefined.
Suggested-by: Peter Maydell <peter.maydell at linaro.org>
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
commit f4dfa67f04037c1b1a8f4e4ddc944c5ab308f35b
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue May 22 20:10:05 2012 +1000
ISCSI: Switch to using READ16/WRITE16 for I/O to the LUN
This allows using LUNs bigger than 2TB. Keep using READ10 for other
device types such as MMC.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
commit 6bcd1346bbfb051820e1c55bd4f04766f556bcdf
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Sat May 26 14:56:38 2012 +1000
ISCSI: Only call READCAPACITY16 for SBC devices, use READCAPACITY10 for MMC
Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
commit dbfff6d776670cca751b904063c9173a23ae8c75
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri May 25 21:59:01 2012 +1000
ISCSI: get device type at connection time
This is needed to avoid READ CAPACITY(16) for MMC devices.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit c7b4a95202032bf1a9e13dd9695389c0ed246eec
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Sat May 26 09:41:13 2012 +0200
ISCSI: change num_blocks to 64-bit
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
commit c9b9f6824fd82058f6918b64d8fd9b1578fac353
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Tue May 22 19:56:36 2012 +1000
ISCSI: redo how we set up the events
Call qemu_notify_event() after updating events. Otherwise, If we add
an event for -is-writeable but the socket is already writeable there
may be a delay before the event callback is actually triggered.
Those delays would in particular hurt performance during BIOS boot and
when the GRUB bootloader reads the kernel and initrd.
But first call out to the socket write functions directly, and only set up
the write event if the socket is full. This will happen very rarely and
this improves performance.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
commit e20e48a8020a3b95eea28c89310d2ff14ad4aca2
Author: Andreas Färber <andreas.faerber at web.de>
Date: Sat Apr 28 00:29:05 2012 +0200
slirp: Untangle TCPOLEN_* from TCPOPT_*
Commit b72210568ef0c0fb141a01cffb71a09c4efa0364 (slirp: clean up
conflicts with system headers) enclosed TCPOLEN_MAXSEG with an #ifdef
TCPOPT_EOL. This broke the build on illumos, which has TCPOPT_*
but not TCPOLEN_*.
Move them to their own #ifdef TCPOLEN_MAXSEG section to remedy this.
Cc: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
commit 24f50d7ea5896a30b0e78f68884586bb8b40ff97
Author: Andreas Färber <andreas.faerber at web.de>
Date: Sun May 27 19:50:47 2012 +0200
tcg/ppc: Handle _CALL_DARWIN being undefined on Darwin
powerpc-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5577)
does not define _CALL_DARWIN, leading to unexpected behavior w.r.t.
register clobbering and stack frame layout.
Since _CALL_DARWIN is a reserved identifier, define a custom
TCG_TARGET_CALL_DARWIN based on either _CALL_DARWIN or __APPLE__.
Signed-off-by: Andreas F?rber <andreas.faerber at web.de>
Signed-off-by: malc <av1474 at comtv.ru>
commit 7cd331617a48785faaf2aafe36db5c06285bfed8
Author: Pavel Hrdina <phrdina at redhat.com>
Date: Thu May 24 11:02:30 2012 +0200
fdc-test: introduced qtest no_media_on_start and cmos qtest for floppy
As default a guest has always one floppy drive so 0x10 byte in CMOS
has to have 0x40 value. Higher 4 bits means that the first floppy drive
is 1.44 Mb 3"5 drive and lower 4 bits means the second drive is not present.
After the guest starts DSKCHG bit in DIR register should be set. If there
is no media in drive, this bit should be set all the time.
Because we start the guest without media in drive, we have to swap
'eject' and 'change' in 'test_media_change'.
Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit cfb08fbafcd946341bdf14103293887763802697
Author: Pavel Hrdina <phrdina at redhat.com>
Date: Thu May 24 11:02:29 2012 +0200
fdc: fix media detection
We have to set up 'media_changed' after guest start so floppy driver
could detect that there is no media in drive. For this purpose we call
'fdctrl_change_cb' instead of 'fd_revalidate' in 'fdctrl_connect_drives'.
'fd_revalidate' is called inside 'fdctrl_change_cb'.
We still have to set default drive geometry in 'fd_revalidate' even
if there is no media in drive. When you try to open (windows) or mount (linux)
floppy the driver tries to seek on track 1. Linux guest stuck in loop then
kernel crashes and windows guest prints error message.
Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 9ecd394753919b7395e620dffb8a5e23c45b5e07
Author: Pavel Hrdina <phrdina at redhat.com>
Date: Thu May 24 11:02:28 2012 +0200
fdc: floppy drive should be visible after start without media
If you start guest with floppy drive but without media inserted, guest
still should see floppy drive pressent.
Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit b84762e2456e15c091c25aff052afb8766394acd
Author: Stefan Hajnoczi <stefanha at linux.vnet.ibm.com>
Date: Thu May 24 16:26:51 2012 +0100
qemu-iotests: mark 035 qcow2-only
The 035 parallel aio write test relies on knowledge of qcow2 metadata
layout to stress parallel L2 table accesses. This only works for qcow2
unless we add additional calculations for qed or other formats.
Mark this test as qcow2-only.
Note that the test is strictly speaking non-deterministic although the
output produced is reliable with qcow2. This is because the aio_write
command returns before the aio write request has completed. Completions
can occur at any time afterwards and cause a message to be printed.
Therefore the exact output of this test is not deterministic but we seem
to get away with it for qcow2 (maybe due to coroutine and main loop
scheduling).
Signed-off-by: Stefan Hajnoczi <stefanha at linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit df021791897cb7a171710dadf66648b4379de627
Author: Kevin Wolf <kwolf at redhat.com>
Date: Thu May 24 12:56:32 2012 +0200
qcow2: Check qcow2_alloc_clusters_at() return value
When using qcow2_alloc_clusters_at(), the cluster allocation code
checked the wrong variable for an error code.
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit b6fc8245e96dea6b7198a46e883d107403ddb90c
Author: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Date: Thu May 17 03:15:34 2012 +0900
sheepdog: use heap instead of stack for BDRVSheepdogState
bdrv_create() is called in coroutine context now, so we cannot use
more stack than 1 MB in the function if we use ucontext coroutine.
This patch allocates BDRVSheepdogState, whose size is 4 MB, on the
heap in sd_create().
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit cb595887cc4ddd7c732b711164756eb0b1b31077
Author: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Date: Thu May 17 03:15:33 2012 +0900
sheepdog: return -errno on error
On error, BlockDriver APIs should return -errno instead of -1.
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 622b6057beb3d8ce8035aaedab2137108bd6bfe4
Author: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Date: Thu May 17 03:15:31 2012 +0900
sheepdog: mark image as snapshot when tag is specified
When a snapshot tag is specified in the filename, the opened image is
a snapshot.
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 9fda6ab1d9f33c04f35438bce101427dd557fef6
Author: Richard W.M. Jones <rjones at redhat.com>
Date: Mon May 21 14:58:05 2012 +0100
qemu-img: Explain how rebase operation can be used to perform a 'diff' operation.
Signed-off-by: Richard W.M. Jones <rjones at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit b6c147622d31272f9728da9ec16d146bf8c45a74
Author: Jim Meyering <jim at meyering.net>
Date: Mon May 21 13:06:54 2012 +0200
qcow2: don't leak buffer for unexpected qcow_version in header
Signed-off-by: Jim Meyering <meyering at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 12badfc2385ae6822cbcbcc8d1c0ed71c9e0ff09
Author: Jim Meyering <meyering at redhat.com>
Date: Mon May 21 12:03:10 2012 +0200
scsi: declare vmstate_info_scsi_requests to be static
Signed-off-by: Jim Meyering <meyering at redhat.com>
commit 2c02cbf6e929c20545b46feb5ecde9c86877198a
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed May 23 15:48:05 2012 -0300
qemu-ga: Fix missing environ declaration
Commit 3674838cd05268954bb6473239cd7f700a79bf0f uses the environ global
variable, but is relying on environ to be declared somewhere else.
This worked for me because on F16 environ is declared in <unistd.h>, but
that doesn't happen in OpenBSD for example, causing a build failure.
This commit fixes the build error by declaring environ if it hasn't
being declared yet.
Also fixes a build warning due to a missing <sys/wait.h> include.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 8ab1bf120d7fcf84f199679ad0d25acbc354c69c
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Wed May 23 15:48:04 2012 -0300
configure: check if environ is declared
Some systems may declare environ automatically, others don't. Check for it.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit aeb29b6459cb9496b38c820f3faff64cf2369d0d
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 24 12:05:15 2012 -0300
audio: Always call fini on exit
Not only clean up enabled voices but any registered one. Backends like
pulsaudio rely on unconditional fini handler invocations.
This fixes "Memory pool destroyed but not all memory blocks freed!"
warnings on VM shutdowns when pa is used and lockups of QEMU on shutdown
as it got stuck on some pa-internal synchronization point.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: malc <av1474 at comtv.ru>
commit f8687bab919672ccdfe29e366e60b5dd1b6ae71b
Author: Stefan Weil <sw at weilnetz.de>
Date: Wed May 23 23:26:41 2012 +0200
es1370: Fix debug code
When DEBUG_ES1370 is defined, the compiler shows these warnings:
hw/es1370.c: In function ?es1370_update_voices?:
hw/es1370.c:414: warning: format ?%d? expects type ?int?, but argument 3 has type ?size_t?
hw/es1370.c: In function ?es1370_writel?:
hw/es1370.c:582: warning: format ?%d? expects type ?int?, but argument 3 has type ?long int?
hw/es1370.c:592: warning: format ?%d? expects type ?int?, but argument 3 has type ?long int?
hw/es1370.c:609: warning: format ?%d? expects type ?int?, but argument 3 has type ?long int?
hw/es1370.c: In function ?es1370_readl?:
hw/es1370.c:751: warning: suggest braces around empty body in an ?if? statement
Fix the format strings and add the missing braces.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: malc <av1474 at comtv.ru>
commit c48b0c80fca9858eb2f9343f1c0a04427f604941
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Tue May 22 09:21:01 2012 -0500
Update version for 1.1.0-rc3
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 4accd107d0fd4a6fd7d2ad4f3365c67623834262
Author: Anthony PERARD <anthony.perard at citrix.com>
Date: Wed May 16 18:50:10 2012 +0100
xen: Fix PV-on-HVM
In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized, when the guest write to a
specific IO port.
Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.
Acked-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony PERARD <anthony.perard at citrix.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit a340046614644a8958883954b96e92a87a5e78f7
Author: dunrong huang <riegamaths at gmail.com>
Date: Fri May 18 19:14:13 2012 +0800
qdev: Fix memory leak
The str allocated in visit_type_str was not freed.
The visit_type_str function is an input visitor(<QMP/String/etc>-to-native)
here, it will allocate memory for caller, so the caller is responsible for
freeing the memory.
Reviewed-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: dunrong huang <riegamaths at gmail.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 2a633c461e96cb9a856292c46917653bd43959c8
Author: Orit Wassermann <owasserm at redhat.com>
Date: Wed May 16 12:21:35 2012 +0200
virtio: check virtio_load return code
Otherwise we crash on error.
Signed-off-by: Ulrich Obergfell <uobergfe at redhat.com>
Signed-off-by: Orit Wassermann <owasserm at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit a6c5c84ae25bc68f22725f77d6d77c98af5c4f9e
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 16 12:54:06 2012 +0200
virtio-blk: always enable VIRTIO_BLK_F_SCSI
VIRTIO_BLK_F_SCSI is supposed to mean whether the host can *parse*
SCSI requests, not *execute* them. You could run QEMU with scsi=on
and a file-backed disk, and QEMU would fail all SCSI requests even
though it advertises VIRTIO_BLK_F_SCSI.
Because we need to do this to fix a migration compatibility problem
related to how QEMU is invoked by management, we must do this
unconditionally even on older machine types. This more or less assumes
that no one ever invoked QEMU with scsi=off.
Here is how testing goes:
- old QEMU, scsi=on -> new QEMU, scsi=on
- new QEMU, scsi=on -> old QEMU, scsi=on
- old QEMU, scsi=off -> new QEMU, scsi=on
- new QEMU, scsi=off -> old QEMU, scsi=on
ok (new QEMU has VIRTIO_BLK_F_SCSI, adding host features is fine)
- old QEMU, scsi=off -> new QEMU, scsi=off
ok (new QEMU has VIRTIO_BLK_F_SCSI, adding host features is fine)
- old QEMU, scsi=on -> new QEMU, scsi=off
ok, bug fixed
- new QEMU, scsi=on -> old QEMU, scsi=off
doesn't work (same as: old QEMU, scsi=on -> old QEMU, scsi=off)
- new QEMU, scsi=off -> old QEMU, scsi=off
broken by the patch
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 12c5674b846dccf1f80fb43b64606721e6f78976
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 16 12:54:05 2012 +0200
virtio-blk: define VirtIOBlkConf
We will have to add another field to the virtio-blk configuration in
the next patch. Avoid a proliferation of arguments to virtio_blk_init.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 0e47931b88a2352ecfdf21bb99256f399952544d
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 16 12:54:04 2012 +0200
virtio-blk: blockdev_mark_auto_del is transport-independent
Move it from virtio_blk_exit_pci to virtio_blk_exit.
This is included here because the next patch removes proxy->block.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit f34e73cd69bdbdb9b1d56b288c5e14d6fff58165
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 16 12:54:03 2012 +0200
virtio-blk: report non-zero status when failing SG_IO requests
Linux really looks only at scsi->errors for SG_IO requests; it does
not look at the virtio request status at all. Because of this, when
a SG_IO request is failed early with virtio_blk_req_complete(req,
VIRTIO_BLK_S_UNSUPP), without writing hdr.status, it will look like
a success to the guest.
This is their bug, but we can make it safe for older guests now by
forcing scsi->errors to have a non-zero value whenever a request
has to be failed.
But if we fix the bug in the guest driver, we will have another problem
because QEMU returns VIRTIO_BLK_S_IOERR if the status is non-zero, and
Linux translates that to -EIO. Rather, the guest should succeed the
request and pass the non-zero status via the userspace-provided SG_IO
structure. So, remove the case where virtio_blk_handle_scsi can
return VIRTIO_BLK_S_IOERR.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 80a2ba3d3cf33b777d6a45776b0625b9a4283951
Author: Mark Langsdorf <mark.langsdorf at calxeda.com>
Date: Mon Mar 12 11:33:25 2012 -0500
use an uint64_t for the max_sz parameter in load_image_targphys
Allow load_image_targphys to load files on systems with more than 2G of
emulated memory by changing the max_sz parameter from an int to an
uint64_t.
Reviewed-by: Andreas F=E4rber <afaerber at suse.de>
Acked-by: Alexander Graf <agraf at suse.de>
Signed-off-by: Mark Langsdorf <mark.langsdorf at calxeda.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit b4f1a7ca72fcd0bfdf89d089c6739650f7b14f2a
Merge: fba0c40bb7c30211b13903df8632d4acea9834db 8efacc43aef2c8fffceb0aaa52b8b7658a3e41ff
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 21 15:31:31 2012 -0500
Merge remote-tracking branch 'mdroth/qga-pull-5-15-12' into staging
* mdroth/qga-pull-5-15-12:
qemu-ga: align versioning with QEMU_VERSION
qemu-ga: fix segv after failure to open log file
qemu-ga: guest-shutdown: use only async-signal-safe functions
qemu-ga: guest-shutdown: become synchronous
qemu-ga: guest-suspend: make the API synchronous
qemu-ga: become_daemon(): reopen standard fds to /dev/null
qemu-ga: make reopen_fd_to_null() public
qemu-ga: guest-suspend-hybrid: don't emit a success response
qemu-ga: guest-suspend-ram: don't emit a success response
qemu-ga: guest-suspend-disk: don't emit a success response
qemu-ga: guest-shutdown: don't emit a success response
qemu-ga: don't warn on no command return
qapi: add support for command options
commit fba0c40bb7c30211b13903df8632d4acea9834db
Author: Stefan Weil <sw at weilnetz.de>
Date: Tue May 15 18:19:45 2012 +0200
tests: Add rtc-test (fix test regression)
Commit 93e9eb6808c886f5f1c903b7ced1eed65de2ba39 added fdc-test,
but accidentally removed rtc-test because check-qtest-i386-y was
not enhanced but set twice.
This patch adds rtc-test again (and sorts both tests alphabetically).
Signed-off-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 7d37d351dffee60fc7048bbfd8573421f15eb724
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:39 2012 -0300
virtio/vhost: Add support for KVM in-kernel MSI injection
Make use of the new vector notifier to track changes of the MSI-X
configuration of virtio PCI devices. On enabling events, we establish
the required virtual IRQ to MSI-X message route and link the signaling
eventfd file descriptor to this vIRQ line. That way, vhost-generated
interrupts can be directly delivered to an in-kernel MSI-X consumer like
the x86 APIC.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit cb697aaab9c1d8078721513a11cb1ce2729b9c92
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:38 2012 -0300
msix: Add msix_nr_vectors_allocated
Analogously to msi_nr_vectors_allocated, add a service for MSI-X. Will
be used by the virtio-pci layer.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit bbf3b80401d55ac3339160cefa17f0015317f512
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:37 2012 -0300
kvm: Enable use of kvm_irqchip_in_kernel in hwlib code
Provide a dummy kvm_kernel_irqchip so that kvm_irqchip_in_kernel can be
used by code that is not under CONFIG_KVM protection.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 39853bbc497d4ca19c553a620afdc459e81d67ce
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:36 2012 -0300
kvm: Introduce kvm_irqchip_add/remove_irqfd
Add services to associate an eventfd file descriptor as input with an
IRQ line as output. Such a line can be an input pin of an in-kernel
irqchip or a virtual line returned by kvm_irqchip_add_route.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit e7b2030862f63ee02331940b9f1742cd025c1908
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:35 2012 -0300
kvm: Make kvm_irqchip_commit_routes an internal service
Automatically commit route changes after kvm_add_routing_entry and
kvm_irqchip_release_virq. There is no performance relevant use case for
which collecting multiple route changes is beneficial. This makes
kvm_irqchip_commit_routes an internal service which assert()s that the
corresponding IOCTL will always succeed.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 1e2aa8be09184156f438ba5199eaa12190c39acc
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:34 2012 -0300
kvm: Publicize kvm_irqchip_release_virq
This allows to drop routes created by kvm_irqchip_add_irq/msi_route
again.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 92b4e489822d2126440f7645b116ebd5f63c0ef7
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:33 2012 -0300
kvm: Introduce kvm_irqchip_add_msi_route
Add a service that establishes a static route from a virtual IRQ line to
an MSI message. Will be used for IRQFD and device assignment. As we will
use this service outside of CONFIG_KVM protected code, stub it properly.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 1df186df3507f25f7e0503e0c2a761c753a0bf17
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:32 2012 -0300
kvm: Rename kvm_irqchip_add_route to kvm_irqchip_add_irq_route
We will add kvm_irqchip_add_msi_route, so let's make the difference
clearer.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 2cdfe53c5f502415932de552c0c7dad369954d4c
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:31 2012 -0300
msix: Introduce vector notifiers
Vector notifiers shall be triggered by the MSI/MSI-X core whenever a
relevant configuration change is programmed by the guest. In case of
MSI-X, changes are reported when the effective mask (global &&
per-vector) alters its state. On unmask, the current vector
configuration is included in the event report. This allows users - e.g.
virtio-pci layer - to transfer this information to external MSI-X
routing subsystems - like vhost + KVM in-kernel irqchip.
This implementation only provides MSI-X support, but extension to MSI is
feasible and will be provided later on when adding support for KVM PCI
device assignment.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 5b5f1330da2d7e5b5cbde8c60738774b2bd8692f
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:30 2012 -0300
msix: Invoke msix_handle_mask_update on msix_mask_all
In preparation of firing vector notifiers on mask changes, call
msix_handle_mask_update also from msix_mask_all. So far, this will have
no real effect.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit bc4caf49c7fee6d1e063df32ca7554e5b98bfc89
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Thu May 17 10:32:29 2012 -0300
msix: Factor out msix_get_message
This helper will also be used by the upcoming config notifier.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit fd4567d9a63e19be6253e264a85efe0e4a3748d3
Author: Stefan Weil <sw at weilnetz.de>
Date: Tue May 15 07:27:19 2012 +0200
tests: Fix linker failure for fdc-test
When QEMU was built with the simple trace backend, linking failed:
LINK tests/fdc-test
oslib-posix.o: In function `trace_qemu_memalign':
qemu/bin/debug/x86/./trace.h:31: undefined reference to `trace3'
oslib-posix.o: In function `trace_qemu_vmalloc':
qemu/bin/debug/x86/./trace.h:35: undefined reference to `trace2'
oslib-posix.o: In function `trace_qemu_vfree':
qemu/bin/debug/x86/./trace.h:39: undefined reference to `trace1'
collect2: error: ld returned 1 exit status
make: *** [tests/fdc-test] Fehler 1
Signed-off-by: Stefan Weil <sw at weilnetz.de>
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit d7f66b52dee3dd7423a28c0ceb600aec388859cb
Author: Richard Sandiford <rdsandiford at googlemail.com>
Date: Sat Nov 26 03:37:07 2011 +0000
mips: Fix BC1ANY[24]F instructions
There's some dodgy application of De Morgan's law in the emulation
of the MIPS BC1ANY[24]F instructions: they end up branching only
if all CCs are false, rather than if one CC is.
Tested on mips64-linux-gnu, where it fixes the GCC MIPS3D tests.
Signed-off-by: Richard Sandiford <rdsandiford at googlemail.com>
Reviewed-by: Richard Henderson <rth at twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 77a8f1a5125457d845fac6aa0c2e1e2681d94f07
Author: Alexander Graf <agraf at suse.de>
Date: Thu May 10 22:40:10 2012 +0000
linux-user: Fix stale tbs after mmap
If we execute linux-user code that does the following:
* A = mmap()
* execute code in A
* munmap(A)
* B = mmap(), but mmap returns the same address as A
* execute code in B
we end up executing a stale cached tb that contains translated code
from A, while we want new code from B.
This patch adds a TB flush for mmap'ed regions, before we return them,
avoiding the whole issue. It also adds a flush for munmap, so that we
don't execute stale TBs instead of getting a segfault.
Reported-by: Peter Maydell <peter.maydell at linaro.org>
Signed-off-by: Alexander Graf <agraf at suse.de>
Reviewed-by: Peter Maydell <peter.maydell at linaro.org>
Acked-by: Riku Voipio <riku.voipio at linaro.org>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 4636b9d1466adde156d469c92d6e7cae7311b81e
Author: Blue Swirl <blauwirbel at gmail.com>
Date: Sat May 12 19:45:22 2012 +0000
virtio-pci: add missing 'static'
There are no outside references to virtio_portio.
Add missing 'static' specifier.
Reviewed-by: Stefan Weil <sw at weilnetz.de>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit 5f2bf0fe55b32a1258fbe468bd23fd9f5e2272dd
Author: Blue Swirl <blauwirbel at gmail.com>
Date: Sat May 12 17:20:52 2012 +0000
sparc64: fix initrd loading
Initrd load address is too low, it conflicts with kernel load
address:
rom: requested regions overlap (rom phdr #0: /tmp/vmlinux-debian-6.0.4-sparc64. free=0x0000000000742519, addr=0x0000000000400000)
rom loading failed
Fix by making the initrd address variable, load initrd after kernel
image. Use 64 bit variables instead of longs or 32 bit types.
Tested-by: Artyom Tarasenko <atar4qemu at gmail.com>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
commit a28853871d6ef5ec4afe810a43fdde859dfdaa7e
Author: Roger Pau Monne <roger.pau at citrix.com>
Date: Fri May 18 12:08:14 2012 +0100
audio: split IN_T into two separate constants
Split IN_T into BSIZE and ITYPE, to avoid expansion if the OS has
defined macros for the intX_t and uintX_t types. The IN_T constant is
then defined in mixeng_template.h so it can be used by the
functions/macros on this header file.
This change has been tested successfully under Debian Linux and NetBSD
6.0BETA.
Cc: Vassili Karpov (malc) <av1474 at comtv.ru>
Signed-off-by: Roger Pau Monne <roger.pau at citrix.com>
Signed-off-by: malc <av1474 at comtv.ru>
commit ace2e4dad70d23631a7944bff7255009234961ce
Author: Peter A. G. Crosthwaite <peter.crosthwaite at petalogix.com>
Date: Thu May 17 15:37:49 2012 +1000
target-microblaze: impelemented swapx instructions
Implemented the swapb and swaph byte/halfword reversal instructions added
to microblaze v8.30
Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite at petalogix.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias at gmail.com>
commit 287d55c6769c3a38e9083b103cb148fb38858b3a
Author: Avi Kivity <avi at redhat.com>
Date: Wed May 16 14:31:37 2012 +0300
kvm: update vmxcap for EPT A/D, INVPCID, RDRAND, VMFUNC
Signed-off-by: Avi Kivity <avi at redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 180640ea071c98739b6cc55b8d03367bcb442b94
Author: John V. Baboval <john.baboval at virtualcomputer.com>
Date: Thu May 17 10:33:09 2012 +0000
Call xc_domain_shutdown with the reboot flag when the guest requests a reboot.
Signed-off-by: John V. Baboval <john.baboval at virtualcomputer.com>
Signed-off-by: Tom Goetz <tom.goetz at virtualcomputer.com>
Signed-off-by: Anthony PERARD <anthony.perard at citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
commit a4f1a7589ad0926fc8db1a6c56d1c3e015be565c
Author: Anthony PERARD <anthony.perard at citrix.com>
Date: Thu May 17 10:31:20 2012 +0000
xen: Fix PV-on-HVM
In the context of PV-on-HVM under Xen, the emulated nics are supposed to be
unplug before the guest drivers are initialized, when the guest write to a
specific IO port.
Without this patch, the guest end up with two nics with the same MAC, the
emulated nic and the PV nic.
Signed-off-by: Anthony PERARD <anthony.perard at citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Acked-by: Paolo Bonzini <pbonzini at redhat.com>
commit ed5477664369c1e9de23b0e7e8f16a418573bd2a
Author: Jan Beulich <JBeulich at suse.com>
Date: Mon May 14 16:46:33 2012 +0000
xen_disk: properly update stats in ioreq_release()
While for the "normal" case (called from blk_send_response_all())
decrementing requests_finished is correct, doing so in the parse error
case is wrong; requests_inflight needs to be decremented instead.
Signed-off-by: Jan Beulich <jbeulich at suse.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
commit c6961b7d38317fd48a8e86a8c2be4b9aeeb71ac0
Author: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Thu Apr 26 16:35:53 2012 +0000
xen_disk: use bdrv_aio_flush instead of bdrv_flush
Use bdrv_aio_flush instead of bdrv_flush.
Make sure to call bdrv_aio_writev/readv after the presync bdrv_aio_flush is fully
completed and make sure to call the postsync bdrv_aio_flush after
bdrv_aio_writev/readv is fully completed.
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
commit ba1dffed6342f900595b97435c05646f559b5ea7
Author: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Fri Apr 13 16:44:54 2012 +0000
xen_disk: remove syncwrite option
This patch removes a dead option.
The same can be achieved removing BDRV_O_NOCACHE and BDRV_O_CACHE_WB
from the flags passed to bdrv_open.
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
commit 95d5d75ede92c7ae7b47e8de2694db969b7fc06f
Author: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Mon Nov 21 11:10:21 2011 +0000
xen: disable rtc_clock
rtc_clock is only used by the RTC emulator (mc146818rtc.c), however Xen
has its own RTC emulator in the hypervisor so we can disable it.
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
commit c2d8d311c18b13c5282ab7d7b2ae57e3dd1e7f7d
Author: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Mon Nov 14 15:07:01 2011 +0000
xen: do not initialize the interval timer and PCSPK emulator
PIT and PCSPK are emulated by the hypervisor so we don't need to emulate
them in Qemu: this patch prevents Qemu from waking up needlessly at
PIT_FREQ on Xen.
Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
commit a24b9106fa1ba8de0d62d93b64ebbf83ae6a131a
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:15 2012 -0300
kvm: Enable in-kernel irqchip support by default
As MSI is now fully supported by KVM (/wrt available features in
upstream), we can finally enable the in-kernel irqchip by default.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 4a3adebb1854d48f0c67958e164c6b2f29d44064
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:14 2012 -0300
kvm: Add support for direct MSI injections
If the kernel supports KVM_SIGNAL_MSI, we can avoid the route-based
MSI injection mechanism.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 80a3eb10fe8ff61666e3843f8c7711fd496fa89b
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:13 2012 -0300
kvm: Update kernel headers
Corresponding kvm.git hash: f2569053e0
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit ffb8d4296e01f0ead3ba81b08a34637c5bbff0da
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:12 2012 -0300
kvm: x86: Wire up MSI support for in-kernel irqchip
Catch writes to the MSI MMIO region in the KVM APIC and forward them to
the kernel. Provide the kernel support GSI routing, this allows to
enable MSI support also for in-kernel irqchip mode.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 08a82ac01cb5409480128f8e1f144557d99b74a3
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:11 2012 -0300
pc: Enable MSI support at APIC level
Push msi_supported enabling to the APIC implementations where we can
encapsulate the decision more cleanly, hiding the details from the
generic code.
Acked-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 04fa27f5ae5f025424bb7b88d3453c46e8900102
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:10 2012 -0300
kvm: Introduce basic MSI support for in-kernel irqchips
This patch basically adds kvm_irqchip_send_msi, a service for sending
arbitrary MSI messages to KVM's in-kernel irqchip models.
As the original KVM API requires us to establish a static route from a
pseudo GSI to the target MSI message and inject the MSI via toggling
that virtual IRQ, we need to play some tricks to make this interface
transparent. We create those routes on demand and keep them in a hash
table. Succeeding messages can then search for an existing route in the
table first and reuse it whenever possible. If we should run out of
limited GSIs, we simply flush the table and rebuild it as messages are
sent.
This approach is rather simple and could be optimized further. However,
latest kernels contains a more efficient MSI injection interface that
will obsolete the GSI-based dynamic injection.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 14de9bab9e4aa47215c26d87de7385afbcb37afa
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:09 2012 -0300
Introduce MSIMessage structure
Will be used for generating and distributing MSI messages, both in
emulation mode and under KVM.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 4e2e4e6355959a1af011167b0db5ac7ffd3adf94
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 16 15:41:08 2012 -0300
kvm: Refactor KVMState::max_gsi to gsi_count
Instead of the bitmap size, store the maximum of GSIs the kernel
support. Move the GSI limit assertion to the API function
kvm_irqchip_add_route and make it stricter.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
commit 8efacc43aef2c8fffceb0aaa52b8b7658a3e41ff
Author: Michael Roth <mdroth at linux.vnet.ibm.com>
Date: Mon May 14 09:33:48 2012 -0500
qemu-ga: align versioning with QEMU_VERSION
Previously qemu-ga version was defined seperately. Since it is aligned
with QEMU releases, use QEMU_VERSION instead. This also implies the
version bump for 1.1[-rcN] release of qemu-ga.
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
Acked-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 6c615ec57e83bf8cc7b1721bcd58c7d1ed93ef65
Author: Michael Roth <mdroth at linux.vnet.ibm.com>
Date: Mon May 14 16:42:35 2012 -0500
qemu-ga: fix segv after failure to open log file
Currently, if we fail to open the specified log file (generally due to a
permissions issue), we'll assign NULL to the logfile handle (stderr,
initially) used by the logging routines, which can cause a segfault to
occur when we attempt to report the error before exiting.
Instead, only re-assign if the open() was successful.
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 3674838cd05268954bb6473239cd7f700a79bf0f
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Mon May 14 15:25:20 2012 -0300
qemu-ga: guest-shutdown: use only async-signal-safe functions
POSIX mandates[1] that a child process of a multi-thread program uses
only async-signal-safe functions before exec(). We consider qemu-ga
to be multi-thread, because it uses glib.
However, qmp_guest_shutdown() uses functions that are not
async-signal-safe. Fix it the following way:
- fclose() -> reopen_fd_to_null()
- execl() -> execle()
- exit() -> _exit()
- drop slog() usage (which is not safe)
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-by: Eric Blake <eblake at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit d5dd3498ebf4d6dc8661f6a9a69ae10b50f3a6a6
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Fri May 11 16:19:47 2012 -0300
qemu-ga: guest-shutdown: become synchronous
Last commit dropped qemu-ga's SIGCHLD handler, used to automatically
reap terminated children processes. This introduced a bug to
qmp_guest_shutdown(): it will generate zombies.
This problem probably doesn't matter in the success case, as the VM
will shutdown anyway, but let's do the right thing and reap the
created process. This ultimately means that guest-shutdown is now a
synchronous command.
An interesting side effect is that guest-shutdown is now able to
report an error to the client if shutting down fails.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-by: Eric Blake <eblake at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit dc8764f06155a7b3e635e02281b747a9e292127e
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Fri May 11 16:19:46 2012 -0300
qemu-ga: guest-suspend: make the API synchronous
Currently, qemu-ga has a SIGCHLD handler that automatically reaps terminated
children processes. The idea is to avoid having qemu-ga commands blocked
waiting for children to terminate.
That approach has two problems:
1. qemu-ga is unable to detect errors in the child, meaning that qemu-ga
returns success even if the child fails to perform its task
2. if a command does depend on the child exit status, the command has to
play tricks to bypass the automatic reaper
Case 2 impacts the guest-suspend-* API, because it has to execute an external
program to check for suspend support. Today, to bypass the automatic reaper,
suspend code has to double fork and pass exit status information through a
pipe. Besides being complex, this is prone to race condition bugs. Indeed,
the current code does have such bugs.
Making the guest-suspend-* API synchronous (ie. by dropping the SIGCHLD
handler and calling waitpid() from commands) is a much simpler approach,
which fixes current race conditions bugs and enables commands to detect
errors in the child.
This commit does just that. There's a side effect though, guest-shutdown
will generate zombies if shutting down fails. This will be fixed by the
next commit.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-by: Eric Blake <eblake at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 226a48949cf74006a94b5931e50352b2af801ac7
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Thu May 10 16:50:42 2012 -0300
qemu-ga: become_daemon(): reopen standard fds to /dev/null
This fixes a bug where qemu-ga doesn't suspend the guest because it
fails to detect suspend support even when the guest does support
suspend. This happens because of the way qemu-ga fds are managed in
daemon mode.
When starting qemu-ga with --daemon, become_daemon() will close all
standard fds. This will cause qemu-ga to end up with the following
fds (if started with 'qemu-ga --daemon'):
0 -> /dev/vport0p1
3 -> /run/qemu-ga.pid
Then a guest-suspend-* function is issued. They call bios_supports_mode(),
which will call pipe(), and qemu-ga's fd will be:
0 -> /dev/vport0p1
1 -> pipe:[16247]
2 -> pipe:[16247]
3 -> /run/qemu-ga.pid
bios_supports_mode() forks off a child and blocks waiting for the child
to write something to the pipe. The child, however, closes its reading
end of the pipe _and_ reopen all standard fds to /dev/null. This will
cause the child's fds to be:
0 -> /dev/null
1 -> /dev/null
2 -> /dev/null
3 -> /run/qemu-ga.pid
In other words, the child's writing end of the pipe is now /dev/null.
It writes there and exits. The parent process (blocked on read()) will
get an EOF and interpret this as "something unexpected happened in
the child, let's assume the guest doesn't support suspend". And suspend
will fail.
To solve this problem we have to reopen standard fds to /dev/null
in become_daemon(), instead of closing them.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-by: Eric Blake <eblake at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 04b4e75f33ae0775d70b8e33080f46d66275cdcc
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Thu May 10 16:50:41 2012 -0300
qemu-ga: make reopen_fd_to_null() public
The next commit wants to use it.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Reviewed-by: Eric Blake <eblake at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit d9fcd2a1c825791cec9b21e634013b728422972f
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue May 8 14:24:49 2012 -0300
qemu-ga: guest-suspend-hybrid: don't emit a success response
Today, qemu-ga may not be able to emit a success response when
guest-suspend-hybrid completes. This happens because the VM may
suspend before qemu-ga is able to emit a response.
This semantic is a bit confusing, as it's not clear for clients if
they should wait for a response or how they should check for success.
This commit solves that problem by changing guest-suspend-hybrid to
never emit a success response and suggests in the documentation
what clients should do to check for success.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 432d29db0db9d08fe34a57b8c03af20c9f759d77
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue May 8 14:24:48 2012 -0300
qemu-ga: guest-suspend-ram: don't emit a success response
Today, qemu-ga may not be able to emit a success response when
guest-suspend-ram completes. This happens because the VM may
suspend before qemu-ga is able to emit a response.
This semantic is a bit confusing, as it's not clear for clients if
they should wait for a response or how they should check for success.
This commit solves that problem by changing guest-suspend-ram to
never emit a success response and suggests in the documentation
what clients should do to check for success.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit c6fcc10ab31d22e93eb169c451025ac9636ec84b
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue May 8 14:24:47 2012 -0300
qemu-ga: guest-suspend-disk: don't emit a success response
Today, qemu-ga may not be able to emit a success response when
guest-suspend-disk completes. This happens because the VM may
vanish before qemu-ga is able to emit a response.
This semantic is a bit confusing, as it's not clear for clients if
they should wait for a response or how they should check for success.
This commit solves that problem by changing guest-suspend-disk to
never emit a success response and suggests in the documentation
what clients could do to check for success.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 8926817219d18403e04625afddd29e6ad25c3162
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue May 8 14:24:46 2012 -0300
qemu-ga: guest-shutdown: don't emit a success response
Today, qemu-ga may not be able to emit a success response when
guest-shutdown completes. This happens because the VM may vanish
before qemu-ga is able to emit a response.
This semantic is a bit confusing, as it's not clear for clients if
they should wait for a response or how they should check for success.
This commit solves that problem by changing guest-shutdown to never
emit a success response and suggests in the documentation what
clients could do to check for success.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit ce8c8b7bd8958fde291f7736016015864e7638a2
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue May 8 14:24:45 2012 -0300
qemu-ga: don't warn on no command return
This is a valid condition when a command chooses to not emit a
success response.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit d34b867d816585900b72d09d42a34cea3057903d
Author: Luiz Capitulino <lcapitulino at redhat.com>
Date: Tue May 8 14:24:44 2012 -0300
qapi: add support for command options
Options allow for changes in commands behavior. This commit introduces
the QCO_NO_SUCCESS_RESP option, which causes a command to not emit a
success response.
This is needed by commands such as qemu-ga's guest-shutdown, which
may not be able to complete before the VM vanishes. In this case, it's
useful and simpler not to bother sending a success response.
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
commit 76ee152a86d5f2533443ce4d2be6fe253cfb3c45
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 17:56:50 2012 -0500
Update version to 1.1.0-rc2
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit f4f7d01a3af6fccd2afd2abd624ab1720ee11855
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 12 03:16:58 2012 +0200
tcg/ppc64: Fix CONFIG_TCG_PASS_AREG0
In qemu_ld/st load the registers for the helper calls directly rather
than rotating them around afterwards for AREG0.
Also clobber the additional register.
Signed-off-by: Andreas F?rber <afaerber at suse.de>
Signed-off-by: malc <av1474 at comtv.ru>
commit c82e5848e21b7ef5d03310f50ef64ed7d006f5d9
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 12 03:16:57 2012 +0200
tcg/ppc64: Don't hardcode register numbers for qemu_ld/st
Facilitates using r3 for prepended AREG0.
Signed-off-by: Andreas F?rber <afaerber at suse.de>
Signed-off-by: malc <av1474 at comtv.ru>
commit 9cc31772bf45a3002fd3886e32ab31f9b396b4da
Merge: 981b1628b3430a21cf1c76d6acd7c883c86fceb2 fa170c148b12f40e803af5b442d33f16add345a4
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 12:45:01 2012 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony:
qemu-img: Fix segmentation fault
qcow2: Don't ignore failure to clear autoclear flags
coroutine: Fix setup of sigaltstack coroutines
commit 981b1628b3430a21cf1c76d6acd7c883c86fceb2
Merge: 8592d5259a2be71fdca45fc0db62a5ad10abe9f5 1ee518760aee476879d5c59476d9a316edbff332
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 10:18:06 2012 -0500
Merge remote-tracking branch 'qmp/queue/qmp' into staging
* qmp/queue/qmp:
qapi: QMP input visitor, handle floats parsed as ints
commit 8592d5259a2be71fdca45fc0db62a5ad10abe9f5
Merge: 7a85d1cf1cf9b2b9379c35f1b672d1661e2d8132 0c9dfe460d0c239cc0dc78d6223118cb63261b45
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 10:15:52 2012 -0500
Merge remote-tracking branch 'afaerber-or/qom-1.1' into staging
* afaerber-or/qom-1.1:
mips_fulong2e: Don't register "cpu" VMState twice
pc: Add back PCI.rombar compat property
qdev: Fix adding of ptr properties
qdev: Use object_property_print() in info qtree
target-i386: Defer MCE init
qom: Documentation addition for object_class_by_name()
target-mips: Remove commented-out function declaration
commit 7a85d1cf1cf9b2b9379c35f1b672d1661e2d8132
Merge: caa3d6d37b596e5fb59d4f7e845b84fa8f583fe7 a2498f76b8ddd4011645e54faf6eb9281bd6f401
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 10:07:23 2012 -0500
Merge remote-tracking branch 'kraxel/usb.50' into staging
* kraxel/usb.50:
usb-host: handle guest-issued clear halt
commit caa3d6d37b596e5fb59d4f7e845b84fa8f583fe7
Merge: 82ac96a72b860f6a4f125edd12f85cb21b3d66bf 3f6297b922622236f7d7a6c0ff85169e95cb6138
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 10:07:06 2012 -0500
Merge remote-tracking branch 'spice/spice.v55' into staging
* spice/spice.v55:
qxl: set size of PCI IO BAR correctly (16) for revision 2
commit 82ac96a72b860f6a4f125edd12f85cb21b3d66bf
Merge: 90ca64a970b1d10352df3b2c68099341e900abe9 b65ee4fa29ebfffb96a3ea983c97a664d30efd3f
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 10:06:50 2012 -0500
Merge remote-tracking branch 'sweil/for-1.1' into staging
* sweil/for-1.1:
qemu-doc: Use QEMU instead of qemu for product name
qemu-doc: Fix executable name in examples
qemu-doc: Add missing parameter in description of -D option
configure: Use QEMU instead of Qemu
fix some common typos
qemu-timer: Fix wrong error message
commit 90ca64a970b1d10352df3b2c68099341e900abe9
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 2 13:30:59 2012 +0200
qdev: fix -device foo,?
Since most property types do not have a parse property now, this was
broken. Fix it by looking at the setter instead.
Reviewed-by: Anthony Liguori <aliguori at us.ibm.com>
Acked-by: Andreas F=E4rber <afaerber at suse.de>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit fa170c148b12f40e803af5b442d33f16add345a4
Author: Charles Arnold <carnold at suse.com>
Date: Fri May 11 10:57:54 2012 -0600
qemu-img: Fix segmentation fault
The following command generates a segmentation fault.
qemu-img convert -O vpc -o ? test test2
This is because the 'goto out;' statement calls qemu_progress_end
before qemu_progress_init is called resulting in a NULL pointer
invocation.
Signed-off-by: Charles Arnold <carnold at suse.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit c44bfe4637424a8f1b411b72a465951f104c29ea
Author: Kevin Wolf <kwolf at redhat.com>
Date: Fri May 11 15:33:03 2012 +0200
qcow2: Don't ignore failure to clear autoclear flags
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 99b5beba2f6c3f2e206e6200a05519a0ec2dc8db
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 9 14:23:27 2012 -0300
coroutine: Fix setup of sigaltstack coroutines
Use pthread_kill instead of process-wide kill to invoke the signal
handler used for stack switching. This may fix spurious lock-ups with
this backend, easily triggerable by extending the time window between
kill and sigsuspend.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Reviewed-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 77f4c9a68aedb9b0d290a1def1bfc8714be862ec
Merge: d5c5dacc7027af2acfa87f860f11d7791776301f 94d1991445fa3582c042ee4e5b72606e2fc39cc2
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Mon May 14 08:44:32 2012 -0500
Merge remote-tracking branch 'origin/master' into staging
* origin/master:
sun4u: implement interrupt clearing registers
sun4u: initialize OBIO interrupt mappings
fix block loads broken in commit 30038fd818
Implement address masking for SPARC v9 CPUs
vga: disable default VGA if appropriate -device is used
cputlb: fix watchpoints handling
commit 1ee518760aee476879d5c59476d9a316edbff332
Author: Michael Roth <mdroth at linux.vnet.ibm.com>
Date: Fri May 11 12:43:24 2012 -0500
qapi: QMP input visitor, handle floats parsed as ints
JSON numbers can be interpreted as either integers or floating point
values depending on their representation. As a result, QMP input visitor
might visit a QInt when it was expecting a QFloat, so add handling to
account for this.
Signed-off-by: Michael Roth <mdroth at linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino at redhat.com>
Acked-by: Andreas Färber <afaerber at suse.de>
commit a2498f76b8ddd4011645e54faf6eb9281bd6f401
Author: Gerd Hoffmann <kraxel at redhat.com>
Date: Tue May 8 13:54:45 2012 +0200
usb-host: handle guest-issued clear halt
Most important here is to update our internal endpoint state so we know
the endpoint isn't in halted state any more. Without this usb-host
tries to clear halt again with the next data transfer submitted. Doing
this twice is (a) not correct and (b) confuses some usb devices,
rendering them non-functional in the guest.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
commit b65ee4fa29ebfffb96a3ea983c97a664d30efd3f
Author: Stefan Weil <sw at weilnetz.de>
Date: Fri May 11 22:25:50 2012 +0200
qemu-doc: Use QEMU instead of qemu for product name
When 'qemu' was used as a product name or as a generic process name,
it is now replaced by the official upper case 'QEMU'.
v2:
Added missing period (hint from Andreas Färber).
Reviewed-by: Andreas Färber <afaerber at suse.de>
Signed-off-by: Stefan Weil <sw at weilnetz.de>
commit 3804da9dbeb2ce9f54a10450f57683914bc69c82
Author: Stefan Weil <sw at weilnetz.de>
Date: Fri May 11 22:21:50 2012 +0200
qemu-doc: Fix executable name in examples
The executable name qemu was replaced some time ago by qemu-system-i386.
Fix all examples accordingly.
Some examples will only work with qemu-system-i386 or qemu-system-x86_64
for obvious reasons ("dos.img").
To keep things simple, I did not vary the executable name.
Place holders like qemu-system-TARGET were also only used once
in the enhanced description for QEMU launches using Wine.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
commit 8bd383b41a115ca52e1587549a0c7638f2356dcc
Author: Stefan Weil <sw at weilnetz.de>
Date: Fri May 11 22:40:50 2012 +0200
qemu-doc: Add missing parameter in description of -D option
'logfile' is a place holder for a non optional parameter.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
commit 2ae4748f4cdea2103b380922c48fe2fe79406e94
Author: Stefan Weil <sw at weilnetz.de>
Date: Fri May 11 21:14:47 2012 +0200
configure: Use QEMU instead of Qemu
This new 'Qemu' was recently added.
Replace it by the official all upper case 'QEMU'.
Reviewed-by: Andreas Färber <afaerber at suse.de>
Signed-off-by: Stefan Weil <sw at weilnetz.de>
commit a31f053129f378ff0e8f6e855b3f35d21143b9ef
Author: Jim Meyering <jim at meyering.net>
Date: Wed May 9 05:12:04 2012 +0000
fix some common typos
These were identified using: http://github.com/lyda/misspell-check
and run like this to create a bourne shell script using GNU sed's
-i option:
git ls-files|grep -vF .bin | misspellings -f - |grep -v '^ERROR:' |perl \
-pe 's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
Manually eliding the FP, "rela->real" and resolving "addres" to
address (not "adders") we get this:
sed -i '450s!thru!through!' Changelog
sed -i '260s!neccessary!necessary!' coroutine-sigaltstack.c
sed -i '54s!miniscule!minuscule!' disas.c
sed -i '1094s!thru!through!' hw/usb/hcd-ehci.c
sed -i '1095s!thru!through!' hw/usb/hcd-ehci.c
sed -i '21s!unecessary!unnecessary!' qapi-schema-guest.json
sed -i '307s!explictly!explicitly!' qemu-ga.c
sed -i '490s!preceeding!preceding!' qga/commands-posix.c
sed -i '792s!addres!address!' qga/commands-posix.c
sed -i '6s!beeing!being!' tests/tcg/test-mmap.c
Also, manually fix "arithmentic", spotted by Peter Maydell:
sed -i 's!arithmentic!arithmetic!' coroutine-sigaltstack.c
Signed-off-by: Jim Meyering <meyering at redhat.com>
Reviewed-by: Peter Maydell <peter.maydell at linaro.org>
commit 52ef651f56c0526e98c2db865e793d7a5ec66477
Author: Stefan Weil <sw at weilnetz.de>
Date: Tue May 8 19:14:43 2012 +0200
qemu-timer: Fix wrong error message
Function timeSetEvent returns 0 when it fails, but it does not set
an error code which can be retrieved by GetLastError.
Therefore calling GetLastError is useless.
Signed-off-by: Stefan Weil <sw at weilnetz.de>
commit 0c9dfe460d0c239cc0dc78d6223118cb63261b45
Author: Juan Quintela <quintela at redhat.com>
Date: Sun May 13 19:32:54 2012 +0200
mips_fulong2e: Don't register "cpu" VMState twice
We have the following simplified callgraph in mips_fulong2e_init():
cpu_init() => cpu_mips_init()
object_new()
mips_cpu_initfn()
cpu_exec_init()
register_savevm(NULL, "cpu", cpu_index, CPU_SAVE_VERSION,
cpu_save, cpu_load, env)
register_savevm(NULL, "cpu", 0, 3, cpu_save, cpu_load, env)
CPU_SAVE_VERSION is defined as 3 in target-mips/cpu.h.
fulong2e instantiates one CPU, so its cpu_index is 0.
Thus the two are fully identical.
Therefore just remove the second call in fulong2e.
Signed-off-by: Juan Quintela <quintela at redhat.com>
[AF: Extend explanation in commit message]
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit c115cd65784a349aeb4f261d3f327225192ef5a1
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 2 13:31:04 2012 +0200
pc: Add back PCI.rombar compat property
This was erroneously dropped in d6c730086cbf24382eb8cff25551798769edfd84
(pc: reduce duplication in compat machine types).
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Michael S. Tsirkin <mst at redhat.com>
commit f3be016d034b2ed97f305ce707dea0354254a817
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Wed May 2 13:31:07 2012 +0200
qdev: Fix adding of ptr properties
ptr properties have neither a get/set or a print/parse which means that when
they're added they aren't treated as static or legacy properties.
Just assume properties like this are legacy properties and treat them as such.
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 8185bfc146309bef43d6b0ed0e6afc27369ff0fa
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 2 13:31:00 2012 +0200
qdev: Use object_property_print() in info qtree
Otherwise, non-string properties without a legacy counterpart are missed.
Also fix error propagation in object_property_print() itself.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Reviewed-by: Anthony Liguori <aliguori at us.ibm.com>
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit 7a05995361a7b4376dffb3c7f04a95644251d29f
Author: Andreas Färber <afaerber at suse.de>
Date: Wed May 9 23:15:32 2012 +0200
target-i386: Defer MCE init
Commit de024815e3b523addf58f1f79846b7fe74643678 (target-i386: QOM'ify
CPU init) moved mce_init() call from helper.c:cpu_x86_init() into
X86CPU's cpu.c:x86_cpu_initfn().
mce_init() checks for a family >= 6 though, so we could end up with a
sequence such as for -cpu somecpu,family=6:
x86_cpu_initfn => X86CPU::family == 5
mce_init => no-op
cpu_x86_register => X86CPU::family = 6
=> MCE unexpectedly not init'ed
or for -cpu someothercpu,family=5:
x86_cpu_initfn => X86CPU::family == 6
mce_init => init'ed
cpu_x86_register => X86CPU::family = 5
=> MCE unexpectedly init'ed
Therefore partially revert the above commit. To avoid moving
mce_init() back into helper.c, foresightedly move it into a
new x86_cpu_realize() function and, in lack of ObjectClass::realize,
call it directly from cpu_x86_init().
While at it, move the qemu_init_vcpu() call that used to follow
mce_init() in cpu_x86_init() into the new realizefn as well.
Reported-by: Igor Mammedov <imammedo at redhat.com>
Signed-off-by: Andreas Färber <afaerber at suse.de>
Reviewed-by: Igor Mammedov <imammedo at redhat.com>
commit 0466e458dee22d8990aeae2b328cab6a2028e653
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 2 13:30:53 2012 +0200
qom: Documentation addition for object_class_by_name()
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
[AF: Document the possible NULL return value]
Signed-off-by: Andreas Färber <afaerber at suse.de>
commit bed38e425f651ec20a64c73cd7410bd529b81218
Author: Andreas Färber <afaerber at suse.de>
Date: Sat May 5 13:35:40 2012 +0200
target-mips: Remove commented-out function declaration
There is no function cpu_mips_get_clock(), so drop it.
Signed-off-by: Andreas Färber <afaerber at suse.de>
Acked-by: Stefan Weil <sw at weilnetz.de>
commit d5c5dacc7027af2acfa87f860f11d7791776301f
Author: Amos Kong <akong at redhat.com>
Date: Fri May 11 00:28:35 2012 +0800
use inet_listen()/inet_connect() to support ipv6 migration
Use help functions in qemu-socket.c for tcp migration,
which already support ipv6 addresses.
Currently errp will be set to UNDEFINED_ERROR when migration fails,
qemu would output "migration failed: ...", and current user can
see a message("An undefined error has occurred") in monitor.
This patch changed tcp_start_outgoing_migration()/inet_connect()
/inet_connect_opts(), socket error would be passed back,
then current user can see a meaningful err message in monitor.
Qemu will exit if listening fails, so output socket error
to qemu stderr.
For IPv6 brackets must be mandatory if you require a port.
Referencing to RFC5952, the recommended format is:
[2312::8274]:5200
test status: Successed
listen side: qemu-kvm .... -incoming tcp:[2312::8274]:5200
client side: qemu-kvm ...
(qemu) migrate -d tcp:[2312::8274]:5200
Signed-off-by: Amos Kong <akong at redhat.com>
Reviewed-by: Orit Wasserman <owasserm at redhat.com>
Reviewed-by: Michael Roth <mdroth at linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 029409e5a9568e9032634847587e24bba66b252b
Author: Amos Kong <akong at redhat.com>
Date: Fri May 11 00:28:26 2012 +0800
sockets: use error class to pass listen error
Add a new argument in inet_listen()/inet_listen_opts()
to pass back listen error.
Change nbd, qemu-char, vnc to use new interface.
Signed-off-by: Amos Kong <akong at redhat.com>
Reviewed-by: Orit Wasserman <owasserm at redhat.com>
Reviewed-by: Michael Roth <mdroth at linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit a6ba35b3be9d3d2874cd00930c954347e6be764c
Author: Amos Kong <akong at redhat.com>
Date: Fri May 11 00:28:16 2012 +0800
sockets: change inet_connect() to support nonblock socket
Add a bool argument to inet_connect() to assign if set socket
to block/nonblock, and delete original argument 'socktype'
that is unused.
Add a new argument to inet_connect()/inet_connect_opts(),
to pass back connect error by error class.
Retry to connect when -EINTR is got. Connect's successful
for nonblock socket when following errors are got, user
should wait for connecting by select():
-EINPROGRESS
-EWOULDBLOCK (win32)
-WSAEALREADY (win32)
Change nbd, vnc to use new interface.
Signed-off-by: Amos Kong <akong at redhat.com>
Reviewed-by: Orit Wasserman <owasserm at redhat.com>
Reviewed-by: Michael Roth <mdroth at linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit aed3d11df6d14ce63ac754601e4df965c608f6bd
Author: Amos Kong <akong at redhat.com>
Date: Fri May 11 00:28:08 2012 +0800
qerror: add five qerror strings
Add five new qerror strings, they are about listen/connect socket:
QERR_SOCKET_CONNECT_IN_PROGRESS
QERR_SOCKET_CONNECT_FAILED
QERR_SOCKET_LISTEN_FAILED
QERR_SOCKET_BIND_FAILED
QERR_SOCKET_CREATE_FAILED
Reviewed-by: Michael Roth <mdroth at linux.vnet.ibm.com>
Signed-off-by: Amos Kong <akong at redhat.com>
Reviewed-by: Orit Wasserman <owasserm at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit e2d87bff12a5195f5b2556baabe2598e14fbed19
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed May 2 13:07:30 2012 -0300
move CPU definitions to /usr/share/qemu/cpus-x86_64.conf (v2)
Changes v1 -> v2:
- userconfig variable is now bool, not int
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit f29a56147b66845914d0a645bf9b4c5bb9a6af57
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed May 2 13:07:29 2012 -0300
implement -no-user-config command-line option (v3)
Changes v2 -> v3:
- Rebase against latest qemu.git
Changes v1 -> v2:
- Change 'userconfig' field/variables to bool instead of int
- Coding style change
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 3ed2d9ee1f7a09129df2694ba9fae2f7c5abf050
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed May 2 13:07:28 2012 -0300
vl.c: change 'defconfig' variable to bool (v2)
Changes v1 -> v2:
- Actually change the variable type declaration to 'bool'
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 756557de6492b04a3bc6670366b925f28698f903
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed May 2 13:07:27 2012 -0300
move list of default config files to an array
More files will be added to the list, with additional attributes, later.
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit c8262a4767dc1c554dec615accc1b7152b433ab3
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed May 2 13:07:26 2012 -0300
eliminate arch_config_name variable
Not needed anymore, as the code that uses the variable is already inside
arch_init.c.
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit b5a8fe5e8a9d8a5751dd5506026bc30a14010443
Author: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed May 2 13:07:25 2012 -0300
move code to read default config files to a separate function (v2)
Function added to arch_init.c because it depends on arch-specific
settings.
Changes v1 -> v2:
- Move qemu_read_default_config_file() prototype to qemu-config.h
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 04120e3bb0323c3c81c252301485ad81dd842718
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu May 10 09:10:42 2012 -0500
block: fix warning introduced in efcc7a23
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit a7aae221b0ef3125dedbbfe49a3f758a21a73330
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date: Wed May 9 19:14:25 2012 -0300
Switch SIG_IPI to SIGUSR1
Use SIGUSR1 unconditionally as SIG_IPI. First, ucontext coroutines tend
to corrupt RT signal masks due to a 32-on-64-bit Linux kernel bug. And,
second, there appears to be no advantage in using RT signals for VCPU
kicking.
Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
commit 2e1201d09bd28d825bcc962b2cf7a99b9583475e
Merge: b3d6ca770dd916bceaa7a421252734f86dc07e38 ad37ad5b25592d2829989111b8386b8007ea0d83
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu May 10 08:30:55 2012 -0500
Merge remote-tracking branch 'pmaydell/target-arm.for-upstream' into staging
* pmaydell/target-arm.for-upstream:
target-arm/cpu.h: Make cpu_init("nonexistent cpu") return NULL
target-arm: When setting FPSCR.QC, don't clear other FPSCR bits
commit b3d6ca770dd916bceaa7a421252734f86dc07e38
Merge: b3def7f5ff7cb3f5e6128fbb7b6a9aaade98774d 2084a8e330bab402e9aab082aad9ce75f9f6db87
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu May 10 08:30:34 2012 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony: (30 commits)
declare ECANCELED on all machines
tests/Makefile: Add missing $(EXESUF)
stream: do not copy unallocated sectors from the base
stream: fix ratelimiting corner case
stream: fix HMP block_job_set_speed
stream: pass new base image format to bdrv_change_backing_file
stream: add testcase for partial streaming
stream: fix sectors not allocated test
qemu-io: fix the alloc command
qemu-io: correctly print non-integer values as decimals
qemu-img: make "info" backing file output correct and easier to use
block: move field reset from bdrv_open_common to bdrv_close
block: protect path_has_protocol from filenames with colons
block: simplify path_is_absolute
block: wait for job callback in block_job_cancel_sync
block: add block_job_sleep_ns
block: fully delete bs->file when closing
block: do not reuse the backing file across bdrv_close/bdrv_open
block: another bdrv_append fix
block: fix snapshot on QED
...
commit b3def7f5ff7cb3f5e6128fbb7b6a9aaade98774d
Merge: 9f34841a812dc622f8de98bc6141925c22f0ee93 3145fcb6057c82e9d8b57bf86494df6af844c732
Author: Anthony Liguori <aliguori at us.ibm.com>
Date: Thu May 10 08:08:31 2012 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
kvm: Fix dirty tracking with large kernel page size
commit 3145fcb6057c82e9d8b57bf86494df6af844c732
Author: David Gibson <david at gibson.dropbear.id.au>
Date: Wed Apr 4 11:15:54 2012 +1000
kvm: Fix dirty tracking with large kernel page size
If the kernel page size is larger than TARGET_PAGE_SIZE, which
happens for example on ppc64 with kernels compiled for 64K pages,
the dirty tracking doesn't work.
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: David Gibson <david at gibson.dropbear.id.au>
Signed-off-by: Avi Kivity <avi at redhat.com>
commit 2084a8e330bab402e9aab082aad9ce75f9f6db87
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu May 10 09:27:50 2012 +0200
declare ECANCELED on all machines
This is needed in particular on Win32.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 6c806637fac6d94e4c9608891e5adf48440cee46
Author: Kevin Wolf <kwolf at redhat.com>
Date: Thu May 10 09:46:18 2012 +0200
tests/Makefile: Add missing $(EXESUF)
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit efcc7a23242dd0fa05932383cf35c068d16e6bbf
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:58 2012 +0200
stream: do not copy unallocated sectors from the base
Unallocated sectors should really never be accessed by the guest,
so there's no need to copy them during the streaming process.
If they are read by the guest during streaming, guest-initiated
copy-on-read will copy them (we're in the base == NULL case, which
enables copy on read). If they are read after we disconnect the
image from the base, they will read as zeroes anyway.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit b21d677ee9efe431a4acc653a8cfb12650e44cec
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:57 2012 +0200
stream: fix ratelimiting corner case
This fixes inability to make progress in streaming if the quota is set
to less than the amount of data that an I/O operation has to write.
In this case, limit->dispatched + n will always be above the quota and,
due to the "goto retry" to recheck cancellation and allocation, streaming
will livelock.
This can be reproduced with "block_job_set_speed ide0-hd0 1b". Of course,
with this patch the requested limit will not be obeyed. That could be
done with another patch that caps is_allocated's n argument by the slice
quota.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit c6db23958bdbeaba6877a0b16d9977b6b09f8744
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:56 2012 +0200
stream: fix HMP block_job_set_speed
The change of the argument name from value to speed was not propagated there.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit f6133def92a3575c9abf57d066108df53e67629e
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:55 2012 +0200
stream: pass new base image format to bdrv_change_backing_file
When an image is modified to point to the new backing file, the backing
file format is set to NULL, which means auto-probe. This is wrong, in
fact it is a small security problem.
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 6e34360973ffe1effaa65978a2afbf8cc5a5d7a9
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Wed May 9 15:05:03 2012 +0200
stream: add testcase for partial streaming
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 863a5d042fdee6b1f602794d99a5121a42e4f181
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:53 2012 +0200
stream: fix sectors not allocated test
The test on sectors not allocated can fail if the L1/L2 tables are
not on disk yet. Allow tests to shutdown the VM early.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit cc785c349de002596a4f4d116e62846fc18d7b9e
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:52 2012 +0200
qemu-io: fix the alloc command
Because sector_num is not updated, the loop would either go on
forever or return garbage.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 8655d2de0a101782b8066779b8b04e59a80c7d85
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:51 2012 +0200
qemu-io: correctly print non-integer values as decimals
qemu-io's cvtstr function sometimes will incorrectly omit the
decimal part of the number, and sometimes will incorrectly include
it. This patch fixes both. The former is more serious, and can
be seen in the patches to 027.out and 033.out.
The changes to all other files were scripted with sed, so there were
no "surprises" beyond 027.out and 033.out.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit dc5a137125d6ac641c566f10e68bf6e1fe31bcb5
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:50 2012 +0200
qemu-img: make "info" backing file output correct and easier to use
qemu-img info should use the same logic as qemu when printing the
backing file path, or debugging becomes quite tricky. We can also
simplify the output in case the backing file has an absolute path
or a protocol.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 6405875cdd10e531ad3dedaad86ae1ccc4b14f20
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:49 2012 +0200
block: move field reset from bdrv_open_common to bdrv_close
bdrv_close should leave fields in the same state as bdrv_new. It is
not up to bdrv_open_common to fix the mess.
Also, backing_format was not being re-initialized.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 947995c09ebd35a752837a5573985ba5a9942ec1
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:48 2012 +0200
block: protect path_has_protocol from filenames with colons
path_has_protocol will erroneously return "true" if the colon is part
of a filename. These names are common with stable device names produced
by udev. We cannot fully protect against this in case the filename
does not have a path component (e.g. if the current directory is
/dev/disk/by-path), but in the common case there will be a slash before
and path_has_protocol can easily detect that and return false.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit f53f4da9c68941fe70a3ca9e3fc792c8acf69c0c
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:47 2012 +0200
block: simplify path_is_absolute
On Windows, all the logic is already in is_windows_drive and
is_windows_drive_prefix. On POSIX, there is no need to look
out for colons.
The win32 code changes the behaviour in some cases, we could have
something like "d:foo.img". The old code would treat it as relative
path, the new one as absolute. Now the path is absolute, because to
go from c:/program files/blah to d:foo.img you cannot say c:/program
files/blah/d:foo.img. You have to say d:foo.img. But you could also
say it's relative because (I think, at least it was like that in DOS
15 years ago) d:foo.img is relative to the current path of drive D.
Considering how path_is_absolute is used by path_combine, I think it's
better to treat it as absolute.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit fa4478d5c8b74a5f0c8b93cc00590ec007be5016
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:46 2012 +0200
block: wait for job callback in block_job_cancel_sync
The limitation on not having I/O after cancellation cannot really be
kept. Even streaming has a very small race window where you could
cancel a job and have it report completion. If this window is hit,
bdrv_change_backing_file() will yield and possibly cause accesses to
dangling pointers etc.
So, let's just assume that we cannot know exactly what will happen
after the coroutine has set busy to false. We can set a very lax
condition:
- if we cancel the job, the coroutine won't set it to false again
(and hence will not call co_sleep_ns again).
- block_job_cancel_sync will wait for the coroutine to exit, which
pretty much ensures no race.
Instead, we track the coroutine that executes the job and put very
strict conditions on what to do while it is quiescent (busy = false).
First of all, the coroutine must never set busy = false while the job
has been cancelled. Second, the coroutine can be reentered arbitrarily
while it is quiescent, so you cannot really do anything but co_sleep_ns at
that time. This condition is obeyed by the block_job_sleep_ns function.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 4513eafe928ff47486f4167c28d364c72b5ff7e3
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:45 2012 +0200
block: add block_job_sleep_ns
This function abstracts the pretty complex semantics of the "busy"
member of BlockJob.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 0ac9377d043e03350b1ff8e21b927598c02fc7fb
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:44 2012 +0200
block: fully delete bs->file when closing
We are reusing bs->file across close/open, which may not cause any
known bugs but is a recipe for trouble. Prefer bdrv_delete, and
enjoy the new invariant in the implementation of bdrv_delete.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit a275fa42fa872828585e9e6a92f975e87776554b
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:43 2012 +0200
block: do not reuse the backing file across bdrv_close/bdrv_open
This is another bug caused by not doing a full cleanup of the BDS
across close/open. This was found with mirroring by Shaolong Hu,
but it can probably be reproduced also with eject or change.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 3a389e7926750cba5c83f662b1941888b2bebc04
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:42 2012 +0200
block: another bdrv_append fix
bdrv_append must also copy open_flags to the top, because the snapshot
has BDRV_O_NO_BACKING set. This causes interesting results if you
later use drive-reopen (not upstream) to reopen the image, and lose
the backing file in the process.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit e023b2e244ddcc25308309d20c6bfd037897b10c
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Tue May 8 16:51:41 2012 +0200
block: fix snapshot on QED
QED's opaque data includes a pointer back to the BlockDriverState.
This breaks when bdrv_append shuffles data between bs_new and bs_top.
To avoid this, add a "rebind" function that tells the driver about
the new relationship between the BlockDriverState and its opaque.
The patch also adds rebind to VVFAT for completeness, even though
it is not used with live snapshots.
Reviewed-by: Stefan Hajnoczi <stefanha at linux.vnet.ibm.com>
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 93e9eb6808c886f5f1c903b7ced1eed65de2ba39
Author: Kevin Wolf <kwolf at redhat.com>
Date: Tue May 8 16:38:37 2012 +0200
qtest: Add floppy test
Let's start with testing media change.
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini at redhat.com>
commit a3ca163cb554e6a3d55644a1ccf8c86a1b02c6cc
Author: Kevin Wolf <kwolf at redhat.com>
Date: Thu Apr 26 19:07:55 2012 +0200
qtest: Add function to send QMP commands
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini at redhat.com>
commit c68b039aa950aea1e534c7abd5ba5ce602a8f4db
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:01:05 2012 +0200
qemu-iotests: strip spaces from qemu-img/qemu-io/qemu command lines
A trailing space is left when qemu-img has no arguments, for example if
-nocache is not used. This becomes an empty argument after split()
and causes qemu-io to fail.
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 71df14fcbe5035d0728f30463414301eb62ad865
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:01:04 2012 +0200
block: fix allocation size for dirty bitmap
Also reuse elsewhere the new constant for sizeof(unsigned long) * 8.
The dirty bitmap is allocated in bits but declared as unsigned long.
Thus, its memory block is accessed beyond its end unless the image
is a multiple of 64 chunks (i.e. a multiple of 64 MB).
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 63090dac3a7c5fe02b4285cf2e5fb7017d2c7b0e
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:01:03 2012 +0200
block: open backing file as read-only when probing for size
bdrv_img_create will temporarily open the backing file to probe its size.
However, this could be done with a read-write open if the wrong flags are
passed to bdrv_img_create. Since there is really no documentation on
what flags can be passed, assume that bdrv_img_create receives the flags
with which the new image will be opened; sanitize them when opening
the backing file.
Reported-by: Eric Blake <eblake at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 469ef350e1a8b5715e620dbf6f6115628e5b566e
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:01:02 2012 +0200
block: update in-memory backing file and format
These are needed to print "info block" output correctly. QCOW2 does this
because it needs it to write the header, but QED does not, and common code
is the right place to do it.
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 5f3777945d22248d805fb7c134e206c2d943b77b
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:01:01 2012 +0200
block: push bdrv_change_backing_file error checking up from drivers
This check applies to all drivers, but QED lacks it.
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit e86fe18ac945a121a548347c48f2397d7a2e5be5
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:00:59 2012 +0200
block: fail live snapshot if disk has no medium
Reviewed-by: Kevin Wolf <kwolf at redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 31155b9b3ca87fca11e42fa0802cca1abe710754
Author: Paolo Bonzini <pbonzini at redhat.com>
Date: Thu Apr 12 14:00:58 2012 +0200
block: add mode argument to blockdev-snapshot-sync
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
commit 4c355d53c6a5444b78b695f8bf106f1ffcba45e1
Author: Zhi Yong Wu <wuzhy at linux.vnet.ibm.com>
Date: Thu Apr 12 14:00:57 2012 +0200
block: add the support to drain throttled requests
Signed-off-by: Zhi Yong Wu <wuzhy at linux.vnet.ibm.com>
[ Iterate until all block devices have processed all requests,
add comments. - Paolo ]
Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
Signed-off-by: Kevin Wolf <kwolf at redhat.com>
More information about the Spice-commits
mailing list