adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Jan Kiszka d25f89c9e9 Register Linux dyntick timer as per-thread signal
Derived from kvm-tool patch
http://thread.gmane.org/gmane.comp.emulators.kvm.devel/74309

Ingo Molnar pointed out that sending the timer signal to the whole
process, just blocking it everywhere, is suboptimal with an increasing
number of threads. QEMU is also using this pattern so far.

Linux provides a (non-portable) way to restrict the signal to a single
thread: We can use SIGEV_THREAD_ID unless we are forced to emulate
signalfd via an additional thread. That case could theoretically be
optimized as well, but it doesn't look worth bothering.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-07-23 11:26:12 -05:00
QMP QMP: add server mode to QEMUMonitorProtocol 2011-06-01 11:43:18 -03:00
audio coreaudio: Fix OSStatus format specifier 2011-06-23 18:56:58 +04:00
block qcow2: Use Qcow2Cache in writeback mode during loadvm/savevm 2011-07-19 15:39:22 +02:00
bsd-user user: Fix -d debug logging for usermode emulation 2011-06-28 20:57:09 +02:00
darwin-user user: Fix -d debug logging for usermode emulation 2011-06-28 20:57:09 +02:00
default-configs target-alpha: Enable the alpha-softmmu target. 2011-05-31 10:18:05 -07:00
docs qapi: add QAPI code generation documentation 2011-07-21 16:48:15 -03:00
fpu softfloat: add float*_is_zero_or_denormal() 2011-06-03 16:07:53 +02:00
fsdev fsdev: Fix archs that dont use fsdev 2011-06-10 15:29:11 +02:00
gdb-xml
hw mc146818rtc: Handle host clock resets 2011-07-23 11:26:12 -05:00
libcacard libcacard: add libcacard.la target 2011-06-14 09:34:34 -05:00
linux-headers Import kernel headers 2011-06-20 15:13:34 -03:00
linux-user Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging 2011-07-19 07:43:51 -05:00
net net: Refactor net_client_types 2011-07-23 10:19:50 -05:00
pc-bios Update OpenBIOS images for Sparc32 and Sparc64 2011-07-20 22:06:33 +00:00
qapi qapi: add QMP dispatch functions 2011-07-21 16:48:14 -03:00
qga guest agent: use QERR_UNSUPPORTED for disabled RPCs 2011-07-23 10:19:50 -05:00
roms
scripts qapi: add qapi-commands.py code generator 2011-07-21 16:48:14 -03:00
slirp slirp: Forward ICMP echo requests via unprivileged sockets 2011-07-23 10:19:50 -05:00
sysconfigs/target
target-alpha Fix unassigned memory access handling 2011-07-20 21:28:08 +00:00
target-arm Merge branch 'for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm 2011-07-20 20:23:01 +00:00
target-cris cris: Handle opcode zero 2011-06-28 20:52:37 +02:00
target-i386 Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
target-lm32 Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
target-m68k Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
target-microblaze Fix unassigned memory access handling 2011-07-20 21:28:08 +00:00
target-mips Fix unassigned memory access handling 2011-07-20 21:28:08 +00:00
target-ppc target-alpha, target-ppc: Remove unnecessary setjmp.h include 2011-07-12 21:01:20 +00:00
target-s390x Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
target-sh4 Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
target-sparc target-sparc: Fix compiler errors (format strings) 2011-07-22 15:31:59 +00:00
target-unicore32 Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
tcg tcg/mips: Fix regression caused by typo (copy + paste bug) 2011-07-20 21:03:37 +00:00
tests Fix spelling in comments (intruction -> instruction) 2011-05-08 10:59:15 +01:00
ui notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
.gitignore .gitignore: ignore qemu-ga and qapi-generated 2011-07-23 10:19:50 -05:00
.gitmodules
CODING_STYLE
COPYING
COPYING.LIB
Changelog Changelog: Add explanatory note that this file is no longer updated 2011-06-13 21:16:27 +02:00
HACKING
LICENSE
MAINTAINERS MAINTAINERS: Fix typo in email address 2011-06-24 09:13:37 +01:00
Makefile guest agent: add guest agent RPCs/commands 2011-07-21 16:48:15 -03:00
Makefile.dis
Makefile.hw
Makefile.objs Merge remote-tracking branch 'qmp/for-anthony' into staging 2011-07-22 09:23:53 -05:00
Makefile.target Add hard build dependency on glib 2011-07-21 16:48:13 -03:00
Makefile.user
README
TODO
VERSION
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c
alpha-dis.c target-alpha: Disassemble EV6 PALcode instructions. 2011-05-31 10:18:04 -07:00
alpha.ld
arch_init.c
arch_init.h
arm-dis.c
arm-semi.c arm-semi: Provide access to CLI arguments passed through the "-append" option 2011-07-11 16:05:46 +03:00
arm.ld
async.c Allow nested qemu_bh_poll() after BH deletion 2011-06-15 15:43:20 +02:00
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block-migration.c Strip trailing '\n' from error_report()'s first argument 2011-06-24 09:13:36 +01:00
block-migration.h
block.c block: add bdrv_get_allocated_file_size() operation 2011-07-19 15:39:08 +02:00
block.h block: add bdrv_get_allocated_file_size() operation 2011-07-19 15:39:08 +02:00
block_int.h block: add bdrv_get_allocated_file_size() operation 2011-07-19 15:39:08 +02:00
blockdev.c QMP: add snapshot-blkdev-sync command 2011-07-21 16:48:11 -03: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
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qstring.c
cmd.c cmd: fix operator precedence 2011-06-20 17:08:57 +01:00
cmd.h
compatfd.c Register Linux dyntick timer as per-thread signal 2011-07-23 11:26:12 -05:00
compatfd.h Register Linux dyntick timer as per-thread signal 2011-07-23 11:26:12 -05:00
compiler.h Introduce compiler.h header file 2011-07-21 16:48:13 -03:00
config.h
configure Merge remote-tracking branch 'qmp/for-anthony' into staging 2011-07-22 09:23:53 -05:00
console.c qemu-char: Print strerror message on failure 2011-07-23 11:18:57 -05:00
console.h Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
cpu-all.h exec.h: fix coding style and change cpu_has_work to return bool 2011-06-26 18:25:26 +00:00
cpu-common.h Avoid CPU endian memory accesses in devices 2011-07-20 21:22:43 +00:00
cpu-defs.h
cpu-exec.c tcg: Reload local variables after return from longjmp 2011-07-12 20:53:28 +00:00
cpus.c iothread: replace fair_mutex with a condition variable 2011-07-23 11:18:51 -05:00
cpus.h Command line support for altering the log file location 2011-06-15 16:51:24 +00:00
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c
def-helper.h
device_tree.c
device_tree.h
dis-asm.h target-alpha: Disassemble EV6 PALcode instructions. 2011-05-31 10:18:04 -07:00
disas.c Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
disas.h
dma-helpers.c make dma_bdrv_io available to drivers 2011-06-15 14:36:16 +02:00
dma.h make dma_bdrv_io available to drivers 2011-06-15 14:36:16 +02:00
dyngen-exec.h
elf.h
envlist.c
envlist.h
error.c error framework: Fix compilation for w32/w64 2011-06-16 11:42:40 -03:00
error.h Error: Fix build when qemu-common.h is not included 2011-07-21 16:48:13 -03:00
error_int.h Introduce the new error framework 2011-06-07 13:52:10 -05:00
exec-all.h Fix unassigned memory access handling 2011-07-20 21:28:08 +00:00
exec.c Fix unassigned memory access handling 2011-07-20 21:28:08 +00:00
gdbstub.c Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
gdbstub.h
gen-icount.h
hmp-commands.hx QMP: add snapshot-blkdev-sync command 2011-07-21 16:48:11 -03:00
host-utils.c
host-utils.h
hpet.h
hppa-dis.c hppa: Fix printf warnings in hppa-dis.c. 2011-07-01 21:06:48 +00:00
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
iohandler.c
ioport-user.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.c report serial devices created with -device in the PIIX4 config space 2011-07-23 10:56:55 -05:00
ioport.h report serial devices created with -device in the PIIX4 config space 2011-07-23 10:56:55 -05:00
iorange.h
iov.c iov: Update parameter usage in iov_(to|from)_buf() 2011-07-18 16:06:27 +02:00
iov.h iov: Update parameter usage in iov_(to|from)_buf() 2011-07-18 16:06:27 +02:00
json-lexer.c json-lexer: make lexer error-recovery more deterministic 2011-06-07 13:52:11 -05:00
json-lexer.h json-lexer: make lexer error-recovery more deterministic 2011-06-07 13:52:11 -05:00
json-parser.c json-parser: add handling for NULL token list 2011-06-07 13:52:11 -05:00
json-parser.h json-parser: propagate error from parser 2011-06-07 13:52:10 -05:00
json-streamer.c json-streamer: add handling for JSON_ERROR token/state 2011-06-07 13:52:11 -05:00
json-streamer.h json-streamer: make sure to reset token_size after emitting a token list 2011-06-07 13:52:11 -05:00
kvm-all.c kvm: Drop KVM_CAP build dependencies 2011-06-20 15:18:43 -03:00
kvm-stub.c Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
kvm.h kvm: x86: Pass KVMState to kvm_arch_get_supported_cpuid 2011-06-20 15:24:00 -03:00
libfdt_env.h Fix libfdt warnings on Darwin 2011-06-14 03:08:57 +02:00
linux-aio.c
m68k-dis.c
m68k-semi.c m68k-semi.c: Use correct check for failure of do_brk() 2011-06-21 20:29:01 +03:00
m68k.ld
microblaze-dis.c
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
migration.c notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
migration.h
mips-dis.c
mips.ld
module.c
module.h qapi: add module init types for qapi 2011-07-21 16:48:13 -03:00
monitor.c Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
monitor.h
nbd.c
nbd.h
net.c net: Consistently use qemu_macaddr_default_if_unset 2011-07-23 10:19:50 -05:00
net.h net: Consistently use qemu_macaddr_default_if_unset 2011-07-23 10:19:50 -05:00
notify.c notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
notify.h notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
os-posix.c os-posix: set groups properly for -runas 2011-07-12 21:41:29 +00:00
os-win32.c Introduce format string for pid_t 2011-06-15 19:58:48 +00:00
osdep.c
osdep.h Introduce format string for pid_t 2011-06-15 19:58:48 +00:00
oslib-posix.c Darwin: Fix compilation warning regarding the deprecated daemon() function 2011-06-14 03:10:47 +02:00
oslib-win32.c
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h Avoid CPU endian memory accesses in devices 2011-07-20 21:22:43 +00:00
posix-aio-compat.c Fix compilation warning due to missing header for sigaction (followup) 2011-06-08 09:04:29 +01:00
ppc-dis.c
ppc.ld
ppc64.ld
qapi-schema-guest.json guest agent: add guest agent RPCs/commands 2011-07-21 16:48:15 -03:00
qapi-schema-test.json qapi: test schema used for unit tests 2011-07-21 16:48:14 -03:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h
qemu-barrier.h
qemu-char.c Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
qemu-char.h Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
qemu-common.h Introduce compiler.h header file 2011-07-21 16:48:13 -03:00
qemu-config.c Generalize -machine command line option 2011-07-23 10:19:49 -05:00
qemu-config.h
qemu-doc.texi
qemu-error.c Strip trailing '\n' from error_report()'s first argument 2011-06-24 09:13:36 +01:00
qemu-error.h
qemu-ga.c guest agent: add guest agent RPCs/commands 2011-07-21 16:48:15 -03:00
qemu-img-cmds.hx Add missing documentation for qemu-img -p 2011-07-20 11:13:52 +02:00
qemu-img.c block: add bdrv_get_allocated_file_size() operation 2011-07-19 15:39:08 +02:00
qemu-img.texi Add missing documentation for qemu-img -p 2011-07-20 11:13:52 +02:00
qemu-io.c qemu-io: Fix if scoping bug 2011-07-18 16:06:27 +02:00
qemu-lock.h
qemu-log.h
qemu-malloc.c
qemu-nbd.c Darwin: Fix compilation warning regarding the deprecated daemon() function 2011-06-14 03:10:47 +02:00
qemu-nbd.texi
qemu-objects.h
qemu-option.c
qemu-option.h
qemu-options.h
qemu-options.hx slirp: Canonicalize restrict syntax 2011-07-23 10:19:49 -05:00
qemu-os-posix.h
qemu-os-win32.h
qemu-progress.c Fix compilation warning due to missing header for sigaction (followup) 2011-06-08 09:04:29 +01:00
qemu-queue.h
qemu-sockets.c
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 Register Linux dyntick timer as per-thread signal 2011-07-23 11:26:12 -05:00
qemu-timer.h qemu-timer: Introduce clock reset notifier 2011-07-23 11:26:12 -05:00
qemu-tool.c
qemu-x509.h
qemu.sasl
qemu_socket.h
qerror.c Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
qerror.h Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h qlist: add qlist_first()/qlist_next() 2011-07-21 16:48:13 -03:00
qmp-commands.hx Introduce a 'client_add' monitor command accepting an open FD 2011-07-23 11:19:02 -05:00
qobject.h
qstring.c
qstring.h
range.h
readline.c
readline.h
rules.mak libcacard: add libcacard.la target 2011-06-14 09:34:34 -05:00
rwhandler.c
rwhandler.h
s390-dis.c
s390.ld
savevm.c Reset system before loadvm 2011-06-16 11:42:40 -03:00
sh4-dis.c
simpletrace.c
simpletrace.h
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h
sparc-dis.c
sparc.ld
sparc64.ld
spice-qemu-char.c qemu-char: Print strerror message on failure 2011-07-23 11:18:57 -05:00
sysemu.h Allow silent system resets 2011-06-16 11:42:40 -03:00
targphys.h
tcg-runtime.c
test-qmp-commands.c qapi: add test-qmp-commands, tests for gen. marshalling/dispatch code 2011-07-21 16:48:14 -03:00
test-visitor.c qapi: add test-visitor, tests for gen. visitor code 2011-07-21 16:48:14 -03:00
thunk.c
thunk.h
trace-events usb-ehci: trace: rename "next" to "nxt". 2011-07-22 13:36:31 +02:00
translate-all.c Delegate setup of TCG temporaries to targets 2011-06-26 18:25:43 +00:00
uboot_image.h
usb-bsd.c usb: Add a speedmask to devices 2011-06-23 11:28:06 +02:00
usb-linux.c notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
usb-redir.c USB: add usb network redirection support 2011-07-22 13:36:31 +02:00
usb-stub.c
user-exec.c cpu_loop_exit: avoid using AREG0 2011-06-26 18:25:13 +00:00
version.rc
vgafont.h
vl.c notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
x86_64.ld
xen-all.c notifier: Pass data argument to callback 2011-07-23 11:26:06 -05:00
xen-mapcache.c xen: Clean up map cache API naming 2011-07-17 01:54:24 +02:00
xen-mapcache.h xen: fix xen-mapcache build on non-Xen capable targets 2011-07-22 17:43:42 +00:00
xen-stub.c xen_console: support the new extended xenstore protocol 2011-07-17 01:54:25 +02:00

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.