adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Paolo Bonzini 7fe7b68b32 nbd: do not block in nbd_wr_sync if no data at all is available
Right now, nbd_wr_sync will hang if no data at all is available on the
socket and the other side is not going to provide any.  Relax this by
making it loop only for writes or partial reads.  This fixes a race
where one thread is executing qemu_aio_wait() and another is executing
main_loop_wait().  Then, the select() call in main_loop_wait() can return
stale data and call the "readable" callback with no data in the socket.

Reported-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-04-19 16:36:43 +02:00
QMP qmp: document strict parsing 2012-03-27 09:15:52 -03:00
audio audio: Add some fall through comments 2012-02-25 18:16:11 +04:00
block nbd: do not block in nbd_wr_sync if no data at all is available 2012-04-19 16:36:43 +02:00
bsd-user bsd-user: fix compile failure 2012-04-13 09:57:36 +01:00
darwin-user Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
default-configs get rid of CONFIG_VIRTIO_SCSI 2012-03-19 16:35:14 +01:00
docs Replace Qemu by QEMU in internal documentation 2012-04-07 13:58:25 +00:00
fpu softfloat: roundAndPackInt{32, 64}: Don't assume int32 is 32 bits 2012-04-07 11:15:55 +00:00
fsdev Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
gdb-xml
hw pseries: Fix reset of VIO network device 2012-04-15 20:07:58 +02:00
include/qemu qom: add container_get 2012-04-02 15:04:15 -05:00
libcacard libcacard/vcard_emul_nss: add warning for old coolkey 2012-03-26 18:39:00 +02:00
linux-headers kvm: update linux headers 2012-04-12 19:01:42 -03:00
linux-user linux-user: Fix exit syscall with QOM CPU 2012-04-15 16:54:46 +00:00
net
pc-bios Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging 2012-03-19 08:51:50 -05:00
qapi qapi: add strict mode to input visitor 2012-03-27 09:15:13 -03:00
qga qemu-ga: fix bsd build, and re-org linux-specific implementations 2012-03-25 14:34:20 -05:00
qom qom: add container_get 2012-04-02 15:04:15 -05:00
roms Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging 2012-03-19 08:51:50 -05:00
scripts kvm: add flightrecorder script 2012-04-12 19:01:41 -03:00
slirp w32: Move defines for socket specific errors to qemu-os-win32.h 2012-04-15 21:25:16 +02:00
sysconfigs/target add Opteron_G4 CPU model (v2) 2012-03-12 14:05:25 -05:00
target-alpha target-alpha: QOM'ify CPU init 2012-04-15 21:26:55 +02:00
target-arm Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-cris Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-i386 Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-lm32 Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-m68k Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-microblaze Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-mips target-mips: Fix type cast for w64 (uintptr_t) 2012-04-15 21:25:17 +02:00
target-ppc target-ppc/machine.c: Drop unnecessary ifdefs 2012-04-15 18:23:47 +02:00
target-s390x Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-sh4 Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-sparc Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-unicore32 target-unicore32: Move CPU-dependent init into initfn 2012-03-30 11:09:31 +02:00
target-xtensa target-xtensa: add license to core-fsf.c 2012-04-15 17:43:43 +00:00
tcg tcg/i386: Add support for w64 ABI 2012-04-15 21:25:15 +02:00
tests tests: remove .SECONDARY special target 2012-04-14 16:19:50 +00:00
trace trace: make trace_thread_create() use its function arg 2012-03-12 10:12:34 +00:00
ui Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
.gitignore .gitignore: add qemu-bridge-helper and option rom build products 2012-03-19 10:52:52 +00:00
.gitmodules
.mailmap
CODING_STYLE Replace Qemu by QEMU in internal documentation 2012-04-07 13:58:25 +00:00
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS MAINTAINERS: Add entry for UniCore32 2012-03-30 11:09:30 +02:00
Makefile make: Always set LC_ALL=C for makeinfo 2012-04-12 11:14:21 +01:00
Makefile.dis
Makefile.hw
Makefile.objs Merge commit 'ff71f2e8cacefae99179993204172bc65e4303df' into staging 2012-04-10 08:21:58 -05:00
Makefile.target target-alpha: QOM'ify CPU 2012-04-15 21:26:32 +02:00
Makefile.user qom: Add QOM support to user emulators 2012-03-13 13:23:18 -05:00
README
TODO
VERSION
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c
alpha-dis.c
alpha.ld
arch_init.c pcspk: initialize PC speaker if compiled in 2012-04-15 08:56:58 +04:00
arch_init.h
arm-dis.c
arm-semi.c arm-semi: Don't use CPUState 2012-03-14 22:20:25 +01:00
arm.ld
async.c
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block-migration.c Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
block-migration.h
block.c block: add a function to clear incoming live migration flags 2012-04-05 16:27:56 +02:00
block.h block: add a function to clear incoming live migration flags 2012-04-05 16:27:56 +02:00
block_int.h block: document job API 2012-04-05 14:54:40 +02:00
blockdev.c blockdev: open images with BDRV_O_INCOMING on incoming live migration 2012-04-05 16:28:16 +02:00
blockdev.h
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c
buffered_file.h
cache-utils.c
cache-utils.h cache-utils: Add missing include file for uintptr_t 2012-03-11 11:25:19 +00:00
cmd.c
cmd.h
compatfd.c
compatfd.h
compiler.h
config.h
configure configure: Insist on a Python 2, not Python 3 2012-04-13 10:01:35 +01:00
console.c optimize screendump for the common non-switch case 2012-02-24 13:36:05 -06:00
console.h console: add some trace events 2012-03-12 10:30:23 +00:00
coroutine-gthread.c coroutine-gthread.c: Avoid threading APIs deprecated in GLib 2.31 2012-04-14 10:59:14 +00:00
coroutine-sigaltstack.c coroutine: adding sigaltstack method (.c source) 2012-03-12 15:14:07 +01:00
coroutine-ucontext.c
coroutine-win32.c
cpu-all.h w64: Fix data types in cpu-all.h, exec.c 2012-04-15 21:25:16 +02:00
cpu-common.h w64: Fix size of ram_addr_t 2012-03-03 18:10:16 +00:00
cpu-defs.h w64: Fix struct CPUTLBEntry 2012-04-15 21:25:16 +02:00
cpu-exec.c cpu-exec: Remove non-portable type cast and fix format string 2012-04-15 21:25:17 +02:00
cpus.c kvm: Drop redundant kvm_enabled from cpu_thread_is_idle 2012-04-12 19:01:41 -03:00
cpus.h qtest: add clock management 2012-03-30 08:14:11 -05:00
cris-dis.c
cursor.c Fix sign of sscanf format specifiers 2012-03-07 13:03:51 +00:00
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c
def-helper.h Add support for target helper functions which don't return 2012-03-24 13:01:46 +00:00
device_tree.c
device_tree.h
dis-asm.h target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
disas.c disas: Replace 'unsigned long' by 'uintptr_t' 2012-04-15 21:25:18 +02:00
disas.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
dma-helpers.c Use DMADirection type for dma_bdrv_io 2012-04-05 14:54:40 +02:00
dma.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-04-10 08:16:12 -05:00
dyngen-exec.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
elf.h elf.h: Update EF_ARM_ constants to newer ABI versions 2012-04-06 19:25:57 +03:00
envlist.c
envlist.h
error.c Error: Introduce error_copy() 2012-03-15 10:39:52 -03:00
error.h Error: Introduce error_copy() 2012-03-15 10:39:52 -03:00
error_int.h
event_notifier.c
event_notifier.h
exec-all.h exec: provide tb_invalidate_phys_addr function 2012-04-14 15:25:36 +00:00
exec-memory.h
exec-obsolete.h memory: get rid of cpu_register_io_memory() 2012-03-08 19:16:39 +02:00
exec.c w64: Use uintptr_t in exec.c 2012-04-15 21:25:17 +02:00
gdbstub.c gdbserver: Don't send a GDB syscall until the system CPU is stopped 2012-03-24 14:12:27 +00:00
gdbstub.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
gen-icount.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
hmp-commands.hx qapi: convert device_del 2012-04-09 14:35:25 -03:00
hmp.c qapi: convert device_del 2012-04-09 14:35:25 -03:00
hmp.h qapi: convert device_del 2012-04-09 14:35:25 -03:00
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c
int128.h
iohandler.c
ioport-user.c
ioport.c ioport: use INT64_MAX for IO ranges 2012-03-19 15:17:21 +02:00
ioport.h ioport: add destructor method to IORange 2012-03-05 17:36:19 +02:00
iorange.h ioport: add destructor method to IORange 2012-03-05 17:36:19 +02:00
iov.c
iov.h
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c kvm: set gsi_bits and max_gsi correctly 2012-04-12 19:01:42 -03:00
kvm-stub.c kvm: Drop unused kvm_pit_in_kernel 2012-04-12 19:01:41 -03:00
kvm.h kvm: Drop unused kvm_pit_in_kernel 2012-04-12 19:01:41 -03:00
libfdt_env.h
linux-aio.c aio: move BlockDriverAIOCB to qemu-aio.h 2012-04-05 14:54:39 +02:00
lm32-dis.c target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
m68k-dis.c
m68k-semi.c m68k-semi: Don't use CPUState 2012-03-14 22:20:26 +01:00
m68k.ld
main-loop.c w64: Fix type cast in os_host_main_loop_wait 2012-04-15 21:25:17 +02:00
main-loop.h main-loop: interrupt wait when data arrives on a socket 2012-04-07 08:34:16 +00:00
memory.c memory: check address space when a listener is registered 2012-04-05 13:09:17 +03:00
memory.h memory: fix I/O port aliases 2012-03-05 17:40:12 +02:00
microblaze-dis.c
migration-exec.c
migration-fd.c qapi: Convert migrate 2012-03-15 10:39:52 -03:00
migration-tcp.c
migration-unix.c
migration.c migration: clear BDRV_O_INCOMING flags on end of incoming live migration 2012-04-05 16:28:49 +02:00
migration.h qapi: Convert migrate 2012-03-15 10:39:52 -03:00
mips-dis.c
mips.ld
module.c Remove type field in ModuleEntry as it's not used 2012-03-19 10:52:52 +00:00
module.h
monitor.c qmp: add and use q type specifier 2012-03-27 09:15:28 -03:00
monitor.h suspend: add qmp events 2012-02-24 13:36:04 -06:00
nbd.c nbd: do not block in nbd_wr_sync if no data at all is available 2012-04-19 16:36:43 +02:00
nbd.h nbd: consistently return negative errno values 2012-04-19 16:36:43 +02:00
net.c net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
net.h net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
notify.c
notify.h
os-posix.c
os-win32.c
osdep.c
osdep.h qtest: add C version of test infrastructure 2012-03-30 08:14:11 -05:00
oslib-posix.c
oslib-win32.c main-loop: interrupt wait when data arrives on a socket 2012-04-07 08:34:16 +00:00
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
posix-aio-compat.c
ppc-dis.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppc.ld
ppc64.ld
qapi-schema-guest.json qemu-ga: add guest-sync-delimited 2012-03-12 15:09:23 -05:00
qapi-schema-test.json qapi: add struct-errors test case to test-qmp-output-visitor 2012-03-27 09:11:00 -03:00
qapi-schema.json qapi: convert device_del 2012-04-09 14:35:25 -03:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h aio: move BlockDriverAIOCB to qemu-aio.h 2012-04-05 14:54:39 +02:00
qemu-barrier.h
qemu-bridge-helper.c
qemu-char.c qemu-char: qemu_chr_open_fd() can't fail, don't check 2012-02-24 09:06:57 -06:00
qemu-char.h
qemu-common.h Merge commit 'ff71f2e8cacefae99179993204172bc65e4303df' into staging 2012-04-10 08:21:58 -05:00
qemu-config.c arm: add device tree support 2012-03-02 11:56:38 +00:00
qemu-config.h
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi Replace Qemu by QEMU in w32 installation path (prefix) 2012-04-07 13:58:42 +00:00
qemu-error.c
qemu-error.h
qemu-file.h Spelling fixes in comments (it's -> its) 2012-03-08 15:22:11 +00:00
qemu-ga.c qemu-ga: add guest-sync-delimited 2012-03-12 15:09:23 -05:00
qemu-img-cmds.hx
qemu-img.c qemu-img: add dirty flag status 2012-04-05 14:54:41 +02:00
qemu-img.texi
qemu-io.c qemu-io: add option to enable tracing 2012-04-05 14:54:39 +02:00
qemu-lock.h
qemu-log.h
qemu-nbd.c nbd: consistently return negative errno values 2012-04-19 16:36:43 +02:00
qemu-nbd.texi Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
qemu-objects.h
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
qemu-os-posix.h
qemu-os-win32.h w64: Fix definition of setjmp 2012-04-15 21:25:16 +02:00
qemu-progress.c
qemu-queue.h Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
qemu-sockets.c sockets: Clean up inet_listen_opts()'s convoluted bind() loop 2012-02-24 09:06:58 -06:00
qemu-tech.texi
qemu-thread-posix.c
qemu-thread-posix.h
qemu-thread-win32.c
qemu-thread-win32.h
qemu-thread.h
qemu-timer-common.c
qemu-timer.c qtest: add clock management 2012-03-30 08:14:11 -05:00
qemu-timer.h qtest: add clock management 2012-03-30 08:14:11 -05:00
qemu-tls.h
qemu-tool.c qemu-tool: revert cpu_get_clock() abort(3) 2012-02-29 15:48:44 +01:00
qemu-user.c qom: Add QOM support to user emulators 2012-03-13 13:23:18 -05:00
qemu-x509.h
qemu-xattr.h
qemu.sasl
qemu_socket.h w32: Move defines for socket specific errors to qemu-os-win32.h 2012-04-15 21:25:16 +02:00
qerror.c qdev: add blocksize property type 2012-04-05 14:54:40 +02:00
qerror.h qdev: add blocksize property type 2012-04-05 14:54:40 +02:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h qjson.h: include compiler.h for GCC_FMT_ATTR 2012-03-09 17:34:17 -03:00
qlist.c
qlist.h
qmp-commands.hx qapi: convert device_del 2012-04-09 14:35:25 -03:00
qmp.c suspend: add system_wakeup monitor command 2012-02-24 13:36:03 -06:00
qobject.h
qstring.c
qstring.h
qtest.c qtest: Add missing GCC_FMT_ATTR 2012-04-03 09:34:34 +01:00
qtest.h qtest: add test framework 2012-03-30 08:14:11 -05:00
range.h
readline.c
readline.h
rules.mak test makefile overhaul 2012-03-30 08:14:11 -05:00
s390-dis.c
s390.ld
savevm.c w64: Fix time conversion for some versions of MinGW-w64 2012-04-15 21:25:18 +02:00
sh4-dis.c
softmmu-semi.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
softmmu_defs.h softmmu templates: optionally pass CPUState to memory access functions 2012-03-18 12:21:52 +00:00
softmmu_exec.h
softmmu_header.h w64: Fix data types in softmmu*.h 2012-04-15 21:25:17 +02:00
softmmu_template.h w64: Fix data types in softmmu*.h 2012-04-15 21:25:17 +02:00
sparc-dis.c
sparc.ld
sparc64.ld
spice-qemu-char.c Revert "qemu-char: Print strerror message on failure" and deps 2012-02-24 09:06:56 -06:00
sysemu.h qapi: Convert migrate 2012-03-15 10:39:52 -03:00
targphys.h
tcg-runtime.c
tci-dis.c
tci.c tci: Support targets with CONFIG_TCG_PASS_AREG0 (fix broken build) 2012-04-07 13:44:01 +00:00
thunk.c linux-user: add struct old_dev_t compat 2012-04-06 18:49:58 +03:00
thunk.h linux-user: add struct old_dev_t compat 2012-04-06 18:49:58 +03:00
trace-events trace-events: Rename 'next' argument 2012-04-05 14:54:39 +02:00
translate-all.c w64: Fix data type of tb_next and other variables used for host addresses 2012-04-07 11:27:45 +00:00
uboot_image.h
user-exec.c Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
version.rc
vgafont.h
vl.c Merge branch 'arm-devs.for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm 2012-03-31 12:10:07 +00:00
vmstate.h Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
x86_64.ld
xen-all.c Merge remote-tracking branch 'sstabellini/saverestore-8' into staging 2012-03-19 13:39:42 -05:00
xen-mapcache.c xen mapcache: check if memory region has moved. 2012-03-19 18:21:12 +00:00
xen-mapcache.h xen mapcache: check if memory region has moved. 2012-03-19 18:21:12 +00:00
xen-stub.c
xtensa-semi.c target-xtensa: Move helpers.h to helper.h 2012-04-14 03:48:08 +04:00

README

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team