adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Avi Kivity cb03355a26 QEMUFileBuffered: indicate that we're ready when the underlying file is ready
QEMUFileBuffered stops writing when the underlying QEMUFile is not ready,
and tells its producer so.  However, when the underlying QEMUFile becomes
ready, it neglects to pass that information along, resulting in stoppage
of all data until the next tick (a tenths of a second).

Usually this doesn't matter, because most QEMUFiles used with QEMUFileBuffered
are almost always ready, but in the case of exec: migration this is not true,
due to the small pipe buffers used to connect to the target process.  The
result is very slow migration.

Fix by detecting the readiness notification and propagating it.  The detection
is a little ugly since QEMUFile overloads put_buffer() to send it, but that's
the suject for a different patch.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 5e77aaa0d7)
2010-10-11 18:20:52 -05:00
QMP QMP: Fix python helper /wrt long return strings 2010-07-01 14:27:13 -03:00
audio savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
block vvfat: Use cache=unsafe 2010-09-13 14:35:06 +02:00
bsd-user rename CONFIG_QEMU_PREFIX 2010-06-10 00:09:49 +02:00
darwin-user Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
default-configs piix4: compile only once 2010-07-03 06:49:47 +00:00
docs Device specification for shared memory PCI device 2010-10-11 16:33:15 -05:00
fpu softfloat: add float32_exp2() 2010-07-13 18:18:23 +02:00
fsdev virtio-9p: Introduces an option to specify the security model. 2010-06-22 15:15:30 -05:00
gdb-xml
hw sparc escc IUS improvements (SunOS 4.1.4 fix) 2010-10-11 18:20:45 -05:00
linux-user linux-user: fix build on hosts not using guest base 2010-07-30 21:12:59 +02:00
net give some useful error messages when tap open 2010-06-22 15:15:30 -05:00
pc-bios Update OpenBIOS images 2010-07-13 20:09:24 +02:00
roms Update SeaBIOS 2010-07-13 08:55:04 -05:00
slirp slirp: Remove declarations which are no longer needed 2010-07-25 16:59:41 +02:00
sysconfigs/target Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
target-alpha remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-arm remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-cris cris: Avoid debug clobbering for both I & D MMU state. 2010-07-05 11:39:04 +02:00
target-i386 target-i386: use gen_update_cc_op() 2010-07-25 17:04:07 +02:00
target-m68k remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-microblaze microblaze: Remove unused members from the disas context 2010-07-25 00:09:41 +02:00
target-mips mips: more fixes to the MIPS interrupt glue logic 2010-07-25 16:54:02 +02:00
target-ppc target-ppc: fix power mode checking on 7400/7410 2010-07-19 00:33:29 +02:00
target-s390x remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-sh4 target-sh4: Add support for ldc & stc with sgr 2010-07-12 10:20:31 +02:00
target-sparc remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
tcg tcg-s390: new TCG Target 2010-06-29 23:07:51 +02:00
tests tests: Replace u_int8_t, u_int16_t, u_int32_t, u_int64_t by standard int types 2010-07-25 16:59:40 +02:00
ui vnc: tight: split send_sub_rect 2010-07-26 17:36:14 -05:00
.gitignore add cscope.* to .gitignore 2010-07-25 17:03:49 +02:00
.gitmodules use absolute URLs for .gitmodules 2010-03-06 23:09:28 +01:00
CODING_STYLE CODING_STYLE: Reserve qemu_ prefix for library wrappers 2010-03-19 15:27:27 -05:00
COPYING
COPYING.LIB
Changelog Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
LICENSE
MAINTAINERS Update MAINTAINERS 2010-02-06 19:24:42 +01:00
Makefile ui: move all ui components in ui/ 2010-07-26 17:35:54 -05:00
Makefile.dis Compile disassemblers only once 2010-03-21 08:28:47 +00:00
Makefile.hw Clean libhw subdirs as well 2010-05-22 08:24:49 +00:00
Makefile.objs vnc: threaded VNC server 2010-07-26 17:36:14 -05:00
Makefile.target Disable build of ivshmem on non-KVM systems 2010-10-11 16:34:02 -05:00
Makefile.user Use vpath directive 2010-01-08 09:58:40 -06:00
README
TODO
VERSION Update for v0.13.0-rc3 2010-10-11 17:09:10 -05:00
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c block: fix aio_flush segfaults for read-only protocols (e.g. curl) 2010-05-21 11:49:18 +02:00
alpha-dis.c
alpha.ld
arch_init.c ramblocks: No more being lazy about duplicate names 2010-07-06 10:36:29 -05:00
arch_init.h Refactor target specific handling, compile vl.c only once 2010-03-29 19:23:52 +00:00
arm-dis.c arm: remove dead assignments, spotted by clang analyzer 2010-04-25 19:31:06 +00:00
arm-semi.c GDB exit status for semihosting 2010-06-16 13:03:51 +01:00
arm.ld
async.c
balloon.c move balloon handling to balloon.c 2010-04-09 18:55:56 +02:00
balloon.h move balloon handling to balloon.c 2010-04-09 18:55:56 +02:00
block-migration.c block migration: propagate return value when bdrv_write() returns < 0 2010-07-28 14:04:24 -05:00
block-migration.h
block.c block: Fix image re-open in bdrv_commit 2010-08-30 18:42:15 +02:00
block.h block: Fix BDRV_O_CACHE_MASK 2010-09-13 14:33:58 +02:00
block_int.h block: Change bdrv_eject() not to drop the image 2010-08-03 16:39:54 +02:00
blockdev.c Fix -snapshot deleting images on disk change 2010-07-28 14:04:25 -05:00
blockdev.h blockdev: drive_get_by_id() is no longer used, remove 2010-07-02 13:18:02 +02:00
bswap.h Fix leul_to_cpu on big endian hosts 2010-05-31 20:55:23 +02:00
bt-host.c bt: remove dead assignments, spotted by clang analyzer 2010-04-25 18:20:28 +00:00
bt-host.h
bt-vhci.c
buffered_file.c QEMUFileBuffered: indicate that we're ready when the underlying file is ready 2010-10-11 18:20:52 -05:00
buffered_file.h
cache-utils.c FreeBSD ppc_init_cacheline_sizes(): add missing #includes 2010-03-13 01:14:01 +03:00
cache-utils.h
check-qdict.c check-qdict: Introduce test for the new iteration API 2010-07-01 14:27:13 -03:00
check-qfloat.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qint.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qjson.c Merge remote branch 'qmp/for-anthony' into staging 2010-06-14 09:39:01 -05:00
check-qlist.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qstring.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
cmd.c qemu-io: check registered fds in command_loop() 2010-06-22 14:38:02 +02:00
cmd.h
config.h
configure vnc: better default values for VNC options 2010-07-26 17:36:14 -05:00
console.c Add support for depth 15 to qemu_default_pixelformat() 2010-06-01 12:53:36 -05:00
console.h un-register kbd driver in case of USB kbd unplug. 2010-06-14 15:46:28 -05:00
cpu-all.h linux-user: fix build on hosts not using guest base 2010-07-30 21:12:59 +02:00
cpu-common.h Add qemu_ram_alloc_from_ptr function 2010-10-11 16:33:09 -05:00
cpu-defs.h move stop/stopped CPU_COMMON fields after area zeroed by reset 2010-05-11 14:02:22 -03:00
cpu-exec.c Fix cpu_exit for tcp_cpu_exec 2010-07-22 05:52:09 +02:00
cpus.c Rework debug exception processing for gdb use 2010-07-22 05:52:09 +02:00
cpus.h Rename tcg_cpu_exec and tcg_has_work 2010-07-22 05:52:09 +02:00
create_config configure: Fix evaluation of config-host.mak in create_config 2010-06-13 12:50:30 +02:00
cris-dis.c
cursor.c cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_hidden.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_left_ptr.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cutils.c split out qemu-timer.c 2010-03-17 11:16:15 -05:00
def-helper.h tcg: Optionally sign-extend 32-bit arguments for 64-bit hosts. 2010-06-16 11:29:11 +02:00
device_tree.c
device_tree.h
dis-asm.h ia64 disas support 2010-04-01 21:51:59 +02:00
disas.c ia64 disas support 2010-04-01 21:51:59 +02:00
disas.h Disassembler symbol lookup fix 2010-03-01 04:39:50 +00:00
dma-helpers.c
dma.h
dyngen-exec.h Move stdbool.h 2010-06-13 19:00:50 +01:00
elf.h microblaze: Update elf machine nums. 2010-05-19 15:24:17 +02:00
envlist.c
envlist.h
exec-all.h remove dead code 2010-07-24 14:42:29 +02:00
exec.c Add qemu_ram_alloc_from_ptr function 2010-10-11 16:33:09 -05:00
feature_to_c.sh
gdbstub.c remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
gdbstub.h GDB exit status for semihosting 2010-06-16 13:03:51 +01:00
gen-icount.h Compile qemu-timer only once 2010-03-29 19:24:00 +00:00
host-utils.c
host-utils.h
hpet.h
hppa-dis.c tcg-hppa: Fix const errors in hppa-dis.c 2010-03-23 22:00:43 +01:00
hppa.ld
hxtool hxtool: Fix line number reporting on SQMP/EQMP errors 2010-06-11 16:35:46 -03:00
i386-dis.c i386-dis: Fix unused return value, spotted by clang 2010-04-18 14:27:44 +00:00
i386.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00
ia64-dis.c Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
ia64.ld
input.c un-register kbd driver in case of USB kbd unplug. 2010-06-14 15:46:28 -05:00
ioport-user.c
ioport.c
ioport.h
iov.c iov: Move from hw/ to topdir 2010-05-10 11:36:03 -05:00
iov.h iov: Move from hw/ to topdir 2010-05-10 11:36:03 -05:00
json-lexer.c remove unnecessary lookaheads 2010-06-11 15:25:14 -03:00
json-lexer.h
json-parser.c Merge remote branch 'qmp/for-anthony' into staging 2010-06-14 09:39:01 -05:00
json-parser.h
json-streamer.c json-streamer: Don't use qdict_put_obj() 2010-06-11 15:25:14 -03:00
json-streamer.h
kvm-all.c Add function to assign ioeventfd to MMIO. 2010-10-11 16:33:25 -05:00
kvm-stub.c Add kvm_set_ioeventfd_mmio_long definition for non-KVM systems 2010-10-11 16:33:56 -05:00
kvm.h Add function to assign ioeventfd to MMIO. 2010-10-11 16:33:25 -05:00
libfdt_env.h
linux-aio.c linux-aio: Fix typo in read() EINTR check 2010-04-23 16:21:57 +02:00
m68k-dis.c m68k-dis: fix unused return value, spotted by clang 2010-04-23 19:22:17 +00:00
m68k-semi.c GDB exit status for semihosting 2010-06-16 13:03:51 +01:00
m68k.ld
microblaze-dis.c microblaze: fix custom fprintf 2010-04-27 18:56:11 +00:00
migration-exec.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration-fd.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration-tcp.c Close socket file descriptor when qemu_accept fails 2010-07-25 17:03:51 +02:00
migration-unix.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration.c Monitor: handle optional '-' arg as a bool 2010-07-01 14:27:13 -03:00
migration.h Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
mips-dis.c mips-dis: add support for Godson integer instructions 2010-06-29 23:26:34 +02:00
mips.ld
module.c
module.h
monitor.c Merge remote branch 'qmp/for-anthony' into staging 2010-07-06 08:31:17 -05:00
monitor.h monitor: Allow to exclude commands from QMP 2010-07-01 14:27:14 -03:00
nbd.c Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
nbd.h Move stdbool.h 2010-06-13 19:00:50 +01:00
net-checksum.c
net.c net: delete QemuOpts when net_client_init() fails. 2010-07-01 14:27:13 -03:00
net.h Move stdbool.h 2010-06-13 19:00:50 +01:00
notify.c Add support for generic notifier lists 2010-03-19 15:27:32 -05:00
notify.h Add support for generic notifier lists 2010-03-19 15:27:32 -05:00
os-posix.c Include sys/mman.h before qemu-options.h 2010-07-06 08:53:59 -05:00
os-win32.c Move daemonize handling to OS specific files 2010-06-12 08:49:15 +03:00
osdep.c win32: Add missing function ffs 2010-06-27 19:25:25 +03:00
osdep.h
path.c path.c fix warning with _FORTIFY_SOURCE 2009-12-25 18:19:15 +00:00
pci-ids.txt
poison.h move targphys.h and hw/poison.h inclusion to cpu-common.h 2010-04-09 18:55:55 +02:00
posix-aio-compat.c posix-aio-compat: Fix async_conmtext for ioctl 2010-08-30 18:44:22 +02:00
ppc-dis.c
ppc.ld
ppc64.ld
qbool.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qbool.h
qdict-test-data.txt
qdict.c QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qdict.h QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qemu-aio.h
qemu-barrier.h Introduce proper compiler barrier 2010-07-22 05:52:08 +02:00
qemu-binfmt-conf.sh
qemu-char.c RESEND: Inter-VM shared memory PCI device 2010-10-11 16:33:42 -05:00
qemu-char.h RESEND: Inter-VM shared memory PCI device 2010-10-11 16:33:42 -05:00
qemu-common.h apic: qdev conversion cleanup 2010-06-19 07:47:42 +00:00
qemu-config.c virtio-9p: Introduces an option to specify the security model. 2010-06-22 15:15:30 -05:00
qemu-config.h virtio-9p: Create a syntactic shortcut for the file-system pass-thru 2010-05-03 12:17:39 -05:00
qemu-doc.texi RESEND: Inter-VM shared memory PCI device 2010-10-11 16:33:42 -05:00
qemu-error.c error: Move qerror_report() from qemu-error.[ch] to qerror.[ch] 2010-03-27 14:30:38 +01:00
qemu-error.h error: Move qerror_report() from qemu-error.[ch] to qerror.[ch] 2010-03-27 14:30:38 +01:00
qemu-img-cmds.hx qemu-img: Fix copy+paste bug in documentation 2010-07-13 17:48:17 +02:00
qemu-img.c qemu-img convert: Use cache=unsafe for output image 2010-09-13 14:33:53 +02:00
qemu-img.texi qemu-img: Add 'resize' command to grow/shrink disk images 2010-05-03 10:07:32 +02:00
qemu-io.c qemu-io: Fix error messages 2010-06-04 11:43:39 +02:00
qemu-lock.h
qemu-log.h
qemu-malloc.c cow: stop using mmap 2010-06-15 09:41:59 +02:00
qemu-monitor.hx monitor: Establish cmd flags and convert the async tag 2010-07-01 13:58:38 -03:00
qemu-nbd.c qemu-nbd: Improve error reporting 2010-05-17 10:20:04 +02:00
qemu-nbd.texi qemu-nbd: Fix wrong description in qemu-nbd.texi 2010-03-06 23:03:50 +01:00
qemu-objects.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qemu-option.c error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +02:00
qemu-option.h error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +02:00
qemu-options.h Introduce OS specific cmdline argument handling and move SMB arg to os-posix.c 2010-06-12 08:49:15 +03:00
qemu-options.hx move 'unsafe' to end of caching modes in help 2010-07-28 14:04:24 -05:00
qemu-os-posix.h Move set_proc_name() to OS specific files. 2010-06-12 08:49:15 +03:00
qemu-os-win32.h win32: Add define for missing EPROTONOSUPPORT 2010-06-27 19:09:56 +03:00
qemu-queue.h
qemu-sockets.c qemu-sockets: avoid strlen of NULL pointer 2010-05-18 19:49:16 +02:00
qemu-tech.texi Documentation: Use UTF-8 encoding and fix one wrong encoding 2010-02-10 12:43:04 -06:00
qemu-thread.c qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit 2010-07-26 17:36:14 -05:00
qemu-thread.h qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit 2010-07-26 17:36:14 -05:00
qemu-timer.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
qemu-timer.h Implement cpu_get_real_ticks for Alpha. 2010-04-27 05:50:42 +02:00
qemu-tool.c error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o 2010-03-27 14:30:38 +01:00
qemu-x509.h move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
qemu.sasl
qemu_socket.h move socket_init to qemu-sockets.c 2010-04-09 18:55:54 +02:00
qerror.c QError: Introduce QERR_QMP_EXTRA_MEMBER 2010-07-01 14:27:13 -03:00
qerror.h QError: Introduce QERR_QMP_EXTRA_MEMBER 2010-07-01 14:27:13 -03:00
qfloat.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qfloat.h
qint.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qint.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qjson.c qjson: Handle "\f" 2010-06-11 15:25:14 -03:00
qjson.h
qlist.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qlist.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qobject.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
readline.c cope with printf macro definition in readline.c 2010-02-08 12:12:40 +03:00
readline.h
rules.mak Put dependency files in proper subdir 2010-05-22 08:31:20 +00:00
rwhandler.c Don't compile rwhandler.c for user targets 2010-02-20 09:27:38 +00:00
rwhandler.h rwhandler: simplified way to register for mem/io 2010-02-14 16:10:53 +02:00
s390-dis.c s390: Disassemble some general-instruction-extension insns. 2010-06-10 00:46:41 +02:00
s390.ld
savevm.c Support marking a device as non-migratable 2010-10-11 16:33:32 -05:00
sh4-dis.c sh4: Fix compiler warning (fprintf format string) 2010-04-14 01:04:02 +02:00
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h sparc64: handle asi referencing nucleus and secondary MMU contexts 2010-05-06 23:14:26 +03:00
softmmu_header.h sparc64: fix 32bit load sign extension 2010-06-02 20:04:52 +00:00
softmmu_template.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld
sparc64.ld
sysemu.h pci hotplug: make pci_device_hot_remove() static 2010-07-11 23:14:57 +03:00
targphys.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
tcg-runtime.c tcg: add div/rem 32-bit helpers 2010-03-14 22:04:50 +01:00
texi2pod.pl
thunk.c
thunk.h
translate-all.c tcg: get rid of copy_size in TCGOpDef 2010-06-09 16:10:50 +02:00
uboot_image.h
usb-bsd.c
usb-linux.c Return usb device to host on exit 2010-06-30 22:51:17 +02:00
usb-stub.c
vgafont.h
vl.c Rename tcg_cpu_exec and tcg_has_work 2010-07-22 05:52:09 +02:00
x86_64.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.