adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Paolo Bonzini 49cf57281b vl: delay thread initialization after daemonization
Commit ac4119c (chardev: Use timer instead of bottom-half to postpone
open event, 2012-10-12) moved the alarm timer initialization to an earlier
point but failed to consider that it depends on qemu_init_main_loop.

Later, commit 1c53786 (vl: init main loop earlier, 2012-10-30) fixed
this, but left -daemonize in two different ways.  First, timers need to
be reinitialized after forking.  Second, the global mutex was being held
by the parent, and thus dropped after forking.

The first is now fixed using pthread_atfork.  For the second part,
make sure that the global mutex is not taken before daemonization,
and similarly delay qemu_thread_self.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-02 13:07:55 -05:00
QMP qmp: add pull_event function 2012-10-24 10:26:22 +02:00
audio audio: Fix warning from static code analysis 2012-09-23 01:34:16 +04:00
block Merge remote-tracking branch 'origin/master' into threadpool 2012-10-31 10:42:51 +01:00
bsd-user
default-configs target-sparc64: disable VGA cirrus 2012-10-27 14:36:04 +00:00
docs serial: add pci-serial documentation 2012-10-22 13:26:42 -05:00
fpu softfloat: implement fused multiply-add NaN propagation for MIPS 2012-10-31 22:20:45 +01:00
fsdev
gdb-xml
hw xenfb: fix build breakage caused by console cleanup series 2012-11-02 11:12:30 -05:00
include/qemu cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
libcacard Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-10-06 18:54:14 +02:00
linux-headers Update Linux kernel headers 2012-10-01 08:04:22 -05:00
linux-user target-mips: Add ASE DSP resources access check 2012-10-31 20:24:06 +01:00
net net: use "socket" model name for UDP sockets 2012-11-01 11:00:59 +01:00
pc-bios Update OpenBIOS PPC image 2012-08-28 20:38:39 +02:00
pixman@97336fad32 pixman: add submodule 2012-11-01 13:10:06 +01:00
qapi build: opts-visitor is not really part of QAPI 2012-10-30 09:30:52 +01:00
qga qemu-ga: ask and print error information from qemu-sockets 2012-10-23 13:54:56 +02:00
qom qom: object_delete should unparent the object first 2012-08-23 20:19:59 -05:00
roms Update OpenBIOS PPC image 2012-08-28 20:38:39 +02:00
scripts update-linux-headers.sh: Handle new kernel uapi/ directories 2012-10-30 23:39:53 -02:00
slirp cleanup useless return sentence 2012-10-05 15:10:21 +02:00
sysconfigs/target Eliminate cpus-x86_64.conf file 2012-09-21 15:12:58 +02:00
target-alpha Merge remote-tracking branch 'afaerber/qom-cpu' into staging 2012-11-01 11:12:32 -05:00
target-arm cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-cris cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-i386 target-i386: cpu: fix --disable-kvm compilation 2012-11-02 17:55:29 +01:00
target-lm32 cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-m68k cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-microblaze cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-mips Merge remote-tracking branch 'afaerber/qom-cpu' into staging 2012-11-01 11:12:32 -05:00
target-openrisc cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-ppc Merge remote-tracking branch 'afaerber/qom-cpu' into staging 2012-11-01 11:12:32 -05:00
target-s390x cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-sh4 cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-sparc cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-unicore32 cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
target-xtensa cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
tcg tcg: don't remove op if output needs to be synced to memory 2012-10-31 22:20:45 +01:00
tests Merge remote-tracking branch 'bonzini/threadpool' into staging 2012-11-01 11:13:39 -05:00
trace trace/simple: Replace asprintf by g_strdup_printf 2012-08-14 13:19:57 +01:00
ui ui/cocoa.m: Update to new DisplayChangeListener member names 2012-11-02 11:12:30 -05:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore Remove libhw 2012-10-05 16:07:49 -05:00
.gitmodules pixman: add submodule 2012-11-01 13:10:06 +01:00
.mailmap
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
LICENSE
MAINTAINERS MAINTAINERS: Update email address for Stefan Hajnoczi 2012-10-19 20:37:43 +02:00
Makefile Merge remote-tracking branch 'kraxel/pixman.v3' into staging 2012-11-01 11:14:39 -05:00
Makefile.dis
Makefile.objs Merge remote-tracking branch 'kraxel/pixman.v3' into staging 2012-11-01 11:14:39 -05:00
Makefile.target Remove libhw 2012-10-05 16:07:49 -05:00
Makefile.user
README
TODO
VERSION Open up 1.3 development tree 2012-09-05 11:44:53 -05:00
a.out.h
acl.c
acl.h
aes.c
aes.h
aio-posix.c aio: call aio_notify after setting I/O handlers 2012-10-30 09:30:53 +01:00
aio-win32.c aio: call aio_notify after setting I/O handlers 2012-10-30 09:30:53 +01:00
alpha-dis.c
alpha.ld
arch_init.c migration: Add dirty_pages_rate to query migrate output 2012-10-17 18:34:58 +02:00
arch_init.h compiler: use weak aliases to provide default definitions 2012-10-30 09:18:43 +01:00
arm-dis.c
arm.ld
async.c aio: clean up now-unused functions 2012-10-30 09:30:54 +01:00
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block-migration.c block-migration: handle errors with the return codes correctly 2012-10-17 18:34:59 +02:00
block-migration.h
block.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
block.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
block_int.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
blockdev-nbd.c qmp: add NBD server commands 2012-10-23 22:39:33 +02:00
blockdev.c Issue warning when deprecated drive parameter boot=on|off is used 2012-10-30 23:39:52 -02:00
blockdev.h
blockjob.c iostatus: forward block_job_iostatus_reset to block job 2012-10-24 10:26:22 +02:00
blockjob.h iostatus: forward block_job_iostatus_reset to block job 2012-10-24 10:26:22 +02:00
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c migration: add qemu_get_fd 2012-11-02 18:34:59 +01:00
buffered_file.h buffered_file: We can access directly to bandwidth_limit 2012-10-17 18:34:59 +02:00
cache-utils.c
cache-utils.h
cmd.c
cmd.h
compatfd.c
compatfd.h
compiler.h compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
config.h
configure Merge remote-tracking branch 'kraxel/usb.69' into staging 2012-11-01 14:34:13 -05:00
console.c pixman: drop obsolete fields from DisplaySurface 2012-11-01 14:00:05 +01:00
console.h pixman: drop obsolete fields from DisplaySurface 2012-11-01 14:00:05 +01:00
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-all.h cpus: Pass CPUState to run_on_cpu() 2012-10-31 04:12:23 +01:00
cpu-common.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cpu-defs.h cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
cpu-exec.c cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
cpus.c cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
cpus.h
cputlb.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cputlb.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c fdsets: use weak aliases instead of qemu-tool.c/qemu-user.c 2012-10-30 09:18:44 +01:00
def-helper.h tcg: Fix MAX_OPC_PARAM_IARGS 2012-09-15 15:34:27 +00:00
device_tree.c device tree: simplify dumpdtb code 2012-10-05 02:35:11 +02:00
device_tree.h fdt: move dumpdtb interpretation code to device_tree.c 2012-10-05 02:35:11 +02:00
dis-asm.h
disas.c tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. 2012-09-21 22:02:16 +02:00
disas.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dma-helpers.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dma.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dump-stub.c
dump.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dump.h
elf.h
envlist.c
envlist.h
error.c error: add error_set_errno and error_setg_errno 2012-10-23 13:54:55 +02:00
error.h error: add error_set_errno and error_setg_errno 2012-10-23 13:54:55 +02:00
event_notifier-posix.c event_notifier: enable it to use pipes 2012-10-30 09:30:52 +01:00
event_notifier-win32.c event_notifier: add Win32 implementation 2012-10-30 09:30:52 +01:00
event_notifier.h event_notifier: enable it to use pipes 2012-10-30 09:30:52 +01:00
exec-all.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
exec-memory.h memory: use AddressSpace for MemoryListener filtering 2012-10-22 14:50:07 +02:00
exec.c cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
gdbstub.c target-xtensa: add FP registers 2012-09-22 17:59:12 +00:00
gdbstub.h
gen-icount.h
hmp-commands.hx qmp: add drive-mirror command 2012-10-24 10:26:20 +02:00
hmp.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
hmp.h qmp: add drive-mirror command 2012-10-24 10:26:20 +02:00
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
hwaddr.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c input: index_from_key(): drop unused code 2012-09-27 09:50:36 -03:00
int128.h
iohandler.c aio: introduce AioContext, move bottom halves there 2012-10-30 09:30:53 +01:00
ioport.c
ioport.h
iorange.h
iov.c Merge remote-tracking branch 'origin/master' into threadpool 2012-10-31 10:42:51 +01:00
iov.h iov: add iov_cpy 2012-10-29 18:25:22 +02:00
json-lexer.c
json-lexer.h
json-parser.c json-parser: don't replicate tokens at each level of recursion 2012-08-16 13:41:15 -05:00
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c cpus: Pass CPUState to run_on_cpu() 2012-10-31 04:12:23 +01:00
kvm-stub.c memory: manage coalesced mmio via a MemoryListener 2012-10-22 14:50:00 +02:00
kvm.h i386: kvm: filter CPUID feature words earlier, on cpu.c 2012-10-30 23:39:49 -02:00
libfdt_env.h
lm32-dis.c
m68k-dis.c
m68k.ld
main-loop.c vl: delay thread initialization after daemonization 2012-11-02 13:07:55 -05:00
main-loop.h main-loop: use GSource to poll AIO file descriptors 2012-10-30 09:30:53 +01:00
memory-internal.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory.c memory: fix rendering of a region obscured by another 2012-10-29 14:32:00 -05:00
memory.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory_mapping-stub.c
memory_mapping.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory_mapping.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
microblaze-dis.c
migration-exec.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration-fd.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration-tcp.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration-unix.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration.c migration: move process_incoming_migration to a coroutine 2012-11-02 18:35:08 +01:00
migration.h migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
mips-dis.c
mips.ld
module.c
module.h
monitor.c target-i386: Pass X86CPU to cpu_x86_inject_mce() 2012-10-31 04:12:23 +01:00
monitor.h block: introduce BLOCK_JOB_READY event 2012-10-24 10:26:19 +02:00
nbd.c nbd: ask and print error information from qemu-sockets 2012-10-23 13:54:56 +02:00
nbd.h nbd: add nbd_export_get_blockdev 2012-09-19 15:26:31 +02:00
net.c net: Reject non-netdevs in qmp_netdev_del() 2012-11-01 11:05:57 +01:00
net.h monitor: Rename+move net_handle_fd_param -> monitor_handle_fd_param 2012-09-07 09:15:08 +03:00
notify.c
notify.h
os-posix.c Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-10-06 18:54:14 +02:00
os-win32.c
osdep.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
osdep.h win32: fix broken build due to missing QEMU_MADV_HUGEPAGE 2012-10-24 15:01:45 -05:00
oslib-posix.c aio: clean up now-unused functions 2012-10-30 09:30:54 +01:00
oslib-win32.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
page_cache.c Add cache handling functions 2012-08-08 13:51:12 +02:00
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
ppc-dis.c
ppc.ld
ppc64.ld
qapi-schema-guest.json qapi: Fix enumeration typo error 2012-09-14 08:21:29 +01:00
qapi-schema-test.json
qapi-schema.json Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h aio: clean up now-unused functions 2012-10-30 09:30:54 +01:00
qemu-barrier.h qemu-barrier: Fix compilation on i386 hosts 2012-10-07 20:07:11 +02:00
qemu-bridge-helper.c
qemu-char.c chardev: Use timer instead of bottom-half to postpone open event 2012-10-31 22:20:44 +01:00
qemu-char.h Merge remote-tracking branch 'bonzini/threadpool' into staging 2012-11-01 11:13:39 -05:00
qemu-common.h Merge remote-tracking branch 'kraxel/pixman.v3' into staging 2012-11-01 11:14:39 -05:00
qemu-config.c Issue warning when deprecated drive parameter boot=on|off is used 2012-10-30 23:39:52 -02:00
qemu-config.h Command line support for seccomp with -sandbox (v8) 2012-08-16 13:41:16 -05:00
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c aio: introduce AioContext, move bottom halves there 2012-10-30 09:30:53 +01:00
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi iscsi: Pick default initiator-name based on the name of the VM 2012-08-09 15:04:09 +02:00
qemu-error.c
qemu-error.h
qemu-file.h migration: replace qemu_stdio_fd with qemu_get_fd 2012-11-02 18:35:06 +01:00
qemu-ga.c qemu-ga: ga_open_pidfile(): add new line to pidfile 2012-10-09 03:42:42 -05:00
qemu-img-cmds.hx qemu-img: document 'info --backing-chain' 2012-10-24 10:26:19 +02:00
qemu-img.c qemu-img: Add --backing-chain option to info command 2012-10-24 10:26:19 +02:00
qemu-img.texi qemu-img: document 'info --backing-chain' 2012-10-24 10:26:19 +02:00
qemu-io.c
qemu-lock.h
qemu-log.c qemu-log: Add new log category for guest bugs 2012-10-20 07:56:22 +00:00
qemu-log.h qemu-log: Add new log category for guest bugs 2012-10-20 07:56:22 +00:00
qemu-nbd.c qemu-nbd: rewrite termination conditions to use a state machine 2012-09-19 15:26:29 +02:00
qemu-nbd.texi
qemu-objects.h
qemu-option-internal.h
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx Emulate qemu-kvms -no-kvm option 2012-10-30 23:39:53 -02:00
qemu-os-posix.h curses: don't initialize curses when qemu is daemonized 2012-09-23 07:11:28 +01:00
qemu-os-win32.h event_notifier: add Win32 implementation 2012-10-30 09:30:52 +01:00
qemu-pixman.c pixman: helper functions 2012-11-01 14:00:04 +01:00
qemu-pixman.h pixman: helper functions 2012-11-01 14:00:04 +01:00
qemu-progress.c
qemu-queue.h
qemu-seccomp.c Adding qemu-seccomp.[ch] (v8) 2012-08-16 13:41:16 -05:00
qemu-seccomp.h Adding qemu-seccomp.[ch] (v8) 2012-08-16 13:41:16 -05:00
qemu-sockets.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
qemu-tech.texi
qemu-thread-posix.c semaphore: implement fallback counting semaphores with mutex+condvar 2012-11-02 13:07:54 -05:00
qemu-thread-posix.h semaphore: implement fallback counting semaphores with mutex+condvar 2012-11-02 13:07:54 -05:00
qemu-thread-win32.c qemu-thread: add QemuSemaphore 2012-10-31 09:45:47 +01:00
qemu-thread-win32.h qemu-thread: add QemuSemaphore 2012-10-31 09:45:47 +01:00
qemu-thread.h qemu-thread: add QemuSemaphore 2012-10-31 09:45:47 +01:00
qemu-timer-common.c
qemu-timer.c qemu-timer: reinitialize timers after fork 2012-11-02 13:07:54 -05:00
qemu-timer.h tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. 2012-09-21 22:02:16 +02:00
qemu-tls.h
qemu-tool.c qemu-tool: do not depend on qemu-timer.c 2012-10-30 09:18:44 +01:00
qemu-user.c fdsets: use weak aliases instead of qemu-tool.c/qemu-user.c 2012-10-30 09:18:44 +01:00
qemu-x509.h
qemu-xattr.h
qemu.sasl
qemu_socket.h qemu-sockets: add socket_listen, socket_connect, socket_parse 2012-10-23 22:39:16 +02:00
qerror.c error, qerror: drop QDict member 2012-08-13 14:17:53 -03:00
qerror.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c qlist: add qlist_size() 2012-08-16 13:41:15 -05:00
qlist.h qlist: add qlist_size() 2012-08-16 13:41:15 -05:00
qmp-commands.hx Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qmp.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
qobject.h json-parser: Fix potential NULL pointer segfault 2012-09-05 15:48:57 -03:00
qstring.c
qstring.h
qtest.c
qtest.h
range.h
readline.c
readline.h
rules.mak Support using a different compiler for Objective-C files 2012-08-16 13:41:15 -05:00
s390-dis.c
s390.ld
savevm.c migration: handle EAGAIN while reading QEMUFile 2012-11-02 18:35:07 +01:00
sh4-dis.c
softmmu-semi.h softmmu-semi: fix lock_user* functions not to deref NULL upon OOM 2012-08-22 10:47:14 -05:00
softmmu_defs.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
softmmu_exec.h
softmmu_header.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
softmmu_template.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
sparc-dis.c tcg-sparc: Dump illegal opode contents 2012-10-13 10:39:53 +00:00
sparc.ld
sparc64.ld
spice-qemu-char.c
sysemu.h Add USB option in machine options 2012-10-29 11:45:54 +01:00
tcg-runtime.c
tci-dis.c
tci.c tcg: remove obsolete jmp op 2012-10-06 18:47:04 +02:00
thread-pool.c threadpool: do not take lock in event_notifier_ready 2012-10-31 10:38:01 +01:00
thread-pool.h aio: add generic thread-pool facility 2012-10-31 10:37:48 +01:00
thunk.c
thunk.h
trace-events Merge remote-tracking branch 'kraxel/usb.69' into staging 2012-11-01 14:34:13 -05:00
translate-all.c
uboot_image.h
uri.c qemu: URI parsing library 2012-09-28 17:51:47 +02:00
uri.h qemu: URI parsing library 2012-09-28 17:51:47 +02:00
user-exec.c Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
version.rc
vgafont.h
vl.c vl: delay thread initialization after daemonization 2012-11-02 13:07:55 -05:00
vmstate.h vmstate: Add support for saving/loading bitmaps 2012-10-30 07:45:12 +00:00
x86_64.ld
xen-all.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-mapcache.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-mapcache.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-stub.c xen: Introduce xen_modified_memory. 2012-10-03 13:48:45 +00:00

README

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

- QEMU team