adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
aliguori 39b65c2e31 Introduce a buffered file wrapper for QEMUFile
This patch introduces a buffered QEMUFile wrapper.  This allows QEMUFile's to be
rate limited.  It also makes it easier to implement a QEMUFile that is
asynchronous since the current QEMUFile API requires that all reads and writes
be synchronous.

The only real non-obvious part of the API is the "frozen" concept.  If the
backend returns EAGAIN, the QEMUFile is said to be "frozen".  This means no
additional output will be sent to the backend until the file is unfrozen.
qemu_file_put_notify can be used to unfreeze a frozen file.

A synchronous interface is also provided to wait for an unfreeze event.  This is
used during the final part of live migration when the VM is no longer running.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5475 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-13 03:10:22 +00:00
audio Prepare for changing audio_pcm_ops dynamically (partially revert r5422) 2008-10-06 18:08:30 +00:00
darwin-user Make target_sigaltstack_used static 2008-10-05 11:09:37 +00:00
fpu Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
gdb-xml Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
hw Fix some issues with QEMUFile 2008-10-13 03:07:56 +00:00
keymaps fixing keymap for Windows keys (Stefano Stabellini) 2008-09-22 19:45:36 +00:00
linux-user CRIS: linux-user signals dont need ERP compensation after break anymore. 2008-10-08 14:39:08 +00:00
pc-bios Update OpenBIOS images to SVN r237. 2008-09-18 19:41:28 +00:00
slirp Fix warning about variables used uninitialized 2008-10-01 19:39:40 +00:00
target-alpha target-alpha: update STATUS 2008-10-01 07:07:59 +00:00
target-arm Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
target-cris CRIS: Initialize the arch version preg to v32. 2008-10-11 19:36:17 +00:00
target-i386 Fix crc32w decoding, fix a constant width in blendvpd. 2008-10-04 11:33:52 +00:00
target-m68k Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
target-mips Show size for unassigned accesses (Robert Reif) 2008-10-06 18:46:28 +00:00
target-ppc ppc: fix crash in ppc system single step support 2008-10-01 22:01:37 +00:00
target-sh4 SH4: Implement MOVUA.L 2008-10-12 23:32:59 +00:00
target-sparc Add static (spotted by sparse) 2008-10-07 19:12:13 +00:00
tcg Add some missing static and const qualifiers, reg_names only used if NDEBUG set 2008-10-05 09:59:14 +00:00
tests Implement SSE4.1, SSE4.2 (x86). 2008-10-04 03:27:44 +00:00
.gitignore Add gitignore file 2008-09-09 17:15:28 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB
Changelog
LICENSE
MAINTAINERS Update maintainers list. 2008-08-25 22:26:03 +00:00
Makefile Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
Makefile.target Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
README
TODO
VERSION
a.out.h
aes.c
aes.h
aio.c Make sure to initialize fd_sets in aio.c 2008-10-12 21:19:57 +00:00
alpha-dis.c
alpha.ld
arm-dis.c
arm-semi.c
arm.ld
block-bochs.c
block-cloop.c
block-cow.c
block-dmg.c
block-nbd.c Remove unnecessary #includes from block-nbd.c 2008-08-19 19:10:38 +00:00
block-parallels.c
block-qcow.c
block-qcow2.c fix bug in block-qcow2.c:alloc_cluster_offset() (Shahar Frank) 2008-09-24 16:52:15 +00:00
block-raw-posix.c Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
block-raw-win32.c Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
block-vmdk.c Fix warning, based on patches by Zeev Tarantov and Jindrich Makovicka 2008-09-28 20:00:14 +00:00
block-vpc.c
block-vvfat.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
block.c Add bdrv_flush_all() 2008-10-06 13:55:43 +00:00
block.h Add bdrv_flush_all() 2008-10-06 13:55:43 +00:00
block_int.h Fix warnings that would be caused by ld flag --warn-common 2008-09-17 19:04:14 +00:00
bswap.h
bt-host.c Disable bluetooth proxy compilation on win32. 2008-09-30 23:31:35 +00:00
bt-vhci.c Disable bluetooth proxy compilation on win32. 2008-09-30 23:31:35 +00:00
buffered_file.c Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
check_ops.sh
cocoa.m
configure Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
console.c Reintroduce TEXT_CONSOLE_FIXED_SIZE and TEXT_CONSOLE for resizable vc's. 2008-09-24 03:32:33 +00:00
console.h Allow the monitor to be suspended during non-blocking op 2008-10-06 13:52:44 +00:00
cpu-all.h Add dirty tracking for live migration 2008-10-06 14:02:03 +00:00
cpu-defs.h Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
cpu-exec.c CRIS: Fix brk 8 and add S-flag emulation. 2008-10-07 22:48:41 +00:00
cris-dis.c
curses.c Reintroduce TEXT_CONSOLE_FIXED_SIZE and TEXT_CONSOLE for resizable vc's. 2008-09-24 03:32:33 +00:00
curses_keys.h Make keysym tables const 2008-10-02 18:26:42 +00:00
cutils.c
d3des.c Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
d3des.h
dis-asm.h Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
disas.c
disas.h
dyngen-exec.h
dyngen.c
elf.h Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
elf_ops.h
exec-all.h Show size for unassigned accesses (Robert Reif) 2008-10-06 18:46:28 +00:00
exec.c Show size for unassigned accesses (Robert Reif) 2008-10-06 18:46:28 +00:00
feature_to_c.sh Add feature_to_c.sh. 2008-10-11 18:23:22 +00:00
gdbstub.c CRIS: Handle GDB writes to pregs. 2008-10-11 19:32:21 +00:00
gdbstub.h Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
gen-icount.h
host-utils.c
host-utils.h Define macro QEMU_GNUC_PREREQ and use it 2008-10-12 16:15:04 +00:00
hostregs_helper.h
hpet.h
hppa-dis.c
hppa.ld
i386-dis.c Make some i386 disassembler tables const 2008-10-02 18:29:22 +00:00
i386.ld
ia64.ld
keymaps.c Make keysym tables const 2008-10-02 18:26:42 +00:00
kqemu.c
kqemu.h
loader.c
m68k-dis.c Fix warnings that would be caused by gcc flag -Wwrite-strings 2008-09-14 06:45:34 +00:00
m68k-semi.c
m68k.ld
mips-dis.c Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
mips.ld
mipsel.ld
monitor.c Allow the monitor to be suspended during non-blocking op 2008-10-06 13:52:44 +00:00
nbd.c Use common objects for qemu-img and qemu-nbd 2008-09-15 15:51:35 +00:00
nbd.h qemu-nbd: remove useless parameter from nbd_negotiate() (Laurent Vivier) 2008-09-10 15:23:19 +00:00
net-checksum.c
net.h Add a "null" bluetooth HCI and a header file for bluetooth. 2008-09-28 23:19:47 +00:00
osdep.c Use common objects for qemu-img and qemu-nbd 2008-09-15 15:51:35 +00:00
osdep.h Define macro QEMU_GNUC_PREREQ and use it 2008-10-12 16:15:04 +00:00
ppc-dis.c
ppc.ld
ppc64.ld Correct version of Heikki Lindholms ppc64.ld script 2008-08-20 22:39:24 +00:00
qemu-aio.h Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
qemu-binfmt-conf.sh
qemu-char.h qemu-char.h: Fix IOCTL values 2008-08-22 21:25:00 +00:00
qemu-common.h Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
qemu-doc.texi Update Sparc docs, add -cpu flag 2008-10-04 20:43:39 +00:00
qemu-img.c Fix OpenBSD linker warnings in qemu-img 2008-08-24 10:30:33 +00:00
qemu-img.texi
qemu-lock.h
qemu-log.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
qemu-malloc.c Fix error introduced by r5044 2008-08-25 20:03:28 +00:00
qemu-nbd.c qemu-nbd: remove useless parameter from nbd_negotiate() (Laurent Vivier) 2008-09-10 15:23:19 +00:00
qemu-nbd.texi Fix formatting of documentation (Stefan Weil) 2008-09-22 20:41:57 +00:00
qemu-tech.texi Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej) 2008-10-09 18:52:04 +00:00
qemu-timer.h
qemu-tool.c Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
qemu_socket.h Use common objects for qemu-img and qemu-nbd 2008-09-15 15:51:35 +00:00
readline.c
s390-dis.c
s390.ld
sdl.c add DisplayState->idle (Samuel Thibault) 2008-08-21 20:08:55 +00:00
sdl_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
sh4-dis.c Fix warnings that would be caused by gcc flag -Wwrite-strings 2008-09-14 06:45:34 +00:00
softmmu-semi.h Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
softmmu_defs.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_exec.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_header.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_template.h
sparc-dis.c Change some qualifiers to static 2008-10-01 18:13:13 +00:00
sparc.ld
sparc64.ld
sys-queue.h
sysemu.h Introduce v3 of savevm protocol 2008-10-06 14:53:52 +00:00
tap-win32.c
texi2pod.pl
thunk.c Make bitmask tables static const 2008-10-05 10:51:10 +00:00
thunk.h Make bitmask tables static const 2008-10-05 10:51:10 +00:00
translate-all.c
uboot_image.h
usb-linux.c Add USB sys file-system support (v8) (TJ) 2008-10-07 20:06:37 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c Fix some issues with QEMUFile 2008-10-13 03:07:56 +00:00
vnc.c Fix compiler warning when _VNC_DEBUG isn't defined. 2008-09-24 15:17:57 +00:00
vnc_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
vnchextile.h vnc dynamic resolution (Stefano Stabellini) 2008-09-15 16:03:41 +00:00
x86_64.ld
x_keymap.c

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.