QEMU With E2K User Support
Go to file
Markus Armbruster 65d21bc73b raw-posix: Fix test for host CD-ROM
raw_pread_aligned() retries up to two times if the block device backs
a virtual CD-ROM (a drive with media=cdrom and if=ide, scsi, xen or
none).  This makes no sense.  Whether retrying reads can correct read
errors can only depend on what we're reading, not on how the result
gets used.  We need to check what whether we're reading from a
physical CD-ROM or floppy here.

I doubt retrying is useful even then.  Left for another day.

Impact:

* Virtual CD-ROM backed by host_cdrom behaves the same.

* Virtual CD-ROM backed by file or host_device no longer retries.

* A drive backed by host_cdrom now retries even if it's not a virtual
  CD-ROM.

* Any drive backed by host_floppy now retries.

While there, clean up gratuitous use of goto.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2010-07-06 17:05:49 +02:00
audio Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
block raw-posix: Fix test for host CD-ROM 2010-07-06 17:05:49 +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 docs: New qdev-device-use.txt 2010-01-13 17:14:16 -06:00
fpu softfloat: remove dead assignments, spotted by clang 2010-03-07 13:49:58 +00:00
fsdev virtio-9p: Introduces an option to specify the security model. 2010-06-22 15:15:30 -05:00
gdb-xml
hw Add virtio disk identification support 2010-07-06 17:05:49 +02:00
linux-user Usermode exec-stack fix 2010-06-16 13:03:51 +01:00
net give some useful error messages when tap open 2010-06-22 15:15:30 -05:00
pc-bios Update OpenBIOS images 2010-06-20 07:55:12 +00:00
QMP QMP: Fix python helper /wrt long return strings 2010-07-01 14:27:13 -03:00
roms Update SeaBIOS 2010-05-14 10:55:58 -05:00
slirp Remove dead assignments in various common files, spotted by clang analyzer 2010-04-25 18:35:52 +00: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 remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-m68k remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-microblaze remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-mips remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-ppc remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-s390x remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-sh4 remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03: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 Add missing 'static' attribute 2010-05-07 16:28:10 +00:00
.gitignore Add QMP/qmp-commands.txt to .gitignore 2010-07-01 23:45:28 +02:00
.gitmodules use absolute URLs for .gitmodules 2010-03-06 23:09:28 +01: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 ram_blocks: Convert to a QLIST 2010-06-14 11:12:53 -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 Introduce contexts for asynchronous callbacks 2009-10-27 12:28:59 -05:00
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_int.h qcow2/vdi: Change check to distinguish error cases 2010-07-06 17:05:49 +02:00
block-migration.c block migration: Fix test for read-only drive 2010-07-06 17:05:49 +02:00
block-migration.h block migration: Report progress also via info migration 2009-12-03 10:48:53 -06:00
block.c qcow2/vdi: Change check to distinguish error cases 2010-07-06 17:05:49 +02:00
block.h qemu-img check: Distinguish different kinds of errors 2010-07-06 17:05:48 +02:00
blockdev.c blockdev: Clean up how readonly persists across virtual media change 2010-07-06 17:05:49 +02: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 Do not use dprintf 2010-02-07 02:03:50 +03: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
Changelog Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
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
cocoa.m Cocoa: Use optimized drawing for the window 2010-01-07 10:57:34 +03:00
CODING_STYLE CODING_STYLE: Reserve qemu_ prefix for library wrappers 2010-03-19 15:27:27 -05:00
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure tcg-s390: new TCG Target 2010-06-29 23:07:51 +02: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
COPYING
COPYING.LIB
cpu-all.h ram_blocks: Convert to a QLIST 2010-06-14 11:12:53 -05:00
cpu-common.h Remove IO_MEM_SUBWIDTH. 2010-04-25 12:59:33 +00: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 tcg-s390: Compute is_write in cpu_signal_handler. 2010-06-11 18:15:41 +02:00
cpus.c make qemu_thread_create block all signals 2010-06-14 15:46:28 -05:00
cpus.h Fix cpu list("-cpu ?") breakage, spotted by TeLeMan 2010-05-04 19:55:35 +00:00
create_config configure: Fix evaluation of config-host.mak in create_config 2010-06-13 12:50:30 +02:00
cris-dis.c bdf: Remove last users of FALSE/TRUE 2009-10-05 09:32:44 -05:00
curses_keys.h Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
curses.c Revert 'Fix build' 2010-03-21 19:44:06 +00: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
cursor.c 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
d3des.c
d3des.h
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 tcg: get rid of copy_size in TCGOpDef 2010-06-09 16:10:50 +02:00
exec.c A bit optimization for tlb_set_page() 2010-06-30 20:25:55 +02: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 target-alpha: Fix generic ctz64. 2009-12-17 18:12:04 +01:00
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 Add a lexer for JSON 2009-11-17 08:49:39 -06:00
json-parser.c Merge remote branch 'qmp/for-anthony' into staging 2010-06-14 09:39:01 -05:00
json-parser.h Add a JSON parser 2009-11-17 08:49:39 -06:00
json-streamer.c json-streamer: Don't use qdict_put_obj() 2010-06-11 15:25:14 -03:00
json-streamer.h Add a JSON message boundary identifier 2009-11-17 08:49:39 -06:00
keymaps.c Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
keymaps.h Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
kvm-all.c kvm: Enable XSAVE live migration support 2010-06-28 13:06:03 -03:00
kvm-stub.c remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
kvm.h kvm: Enable XSAVE live migration support 2010-06-28 13:06:03 -03:00
libfdt_env.h
LICENSE
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
MAINTAINERS Update MAINTAINERS 2010-02-06 19:24:42 +01:00
Makefile Makefile: add qemu-options.def to distclean 2010-07-01 23:45:29 +02: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 piix4: compile only once 2010-07-03 06:49:47 +00:00
Makefile.target piix4: compile only once 2010-07-03 06:49:47 +00:00
Makefile.user Use vpath directive 2010-01-08 09:58:40 -06:00
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 Factorize common migration incoming code 2010-06-22 15:15:51 -05: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 Move set_proc_name() to OS specific files. 2010-06-12 08:49:15 +03: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 qdev: move DO_UPCAST() into osdep.h 2009-12-03 09:41:29 -06:00
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: Expand tabs that have crept in 2010-05-28 13:14:26 +02:00
ppc64.ld
ppc-dis.c
ppc.ld
qbool.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qbool.h Add a QBool type 2009-11-17 08:49:39 -06:00
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_socket.h move socket_init to qemu-sockets.c 2010-04-09 18:55:54 +02:00
qemu-aio.h Add qemu_aio_process_queue() 2009-10-27 12:28:59 -05:00
qemu-barrier.h kvm-all.c: define smp_wmb and use it for coalesced mmio 2010-02-22 19:04:13 +02:00
qemu-binfmt-conf.sh target-alpha: Add binfmt entry. 2009-12-13 20:32:36 +01:00
qemu-char.c block: Decouple block device "commit all" from DriveInfo 2010-06-15 09:41:59 +02:00
qemu-char.h Always notify consumers of char devices if they're open 2010-04-09 22:03:22 +02: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 Pre-allocate guest address space 2010-05-29 02:27:35 +01: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 Fix TEXI section mark imbalance in qemu-img-cmd.hx 2010-05-22 08:33:50 +00:00
qemu-img.c qemu-img check: Distinguish different kinds of errors 2010-07-06 17:05:48 +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 qemu-option: New qemu_opts_reset() 2010-07-02 13:18:02 +02:00
qemu-option.h qemu-option: New qemu_opts_reset() 2010-07-02 13:18:02 +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 virtio-9p: Introduces an option to specify the security model. 2010-06-22 15:15:30 -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 Import a simple queue implementation from NetBSD 2009-12-03 10:48:52 -06:00
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 make qemu_thread_create block all signals 2010-06-14 15:46:28 -05:00
qemu-thread.h
qemu-timer.c Compile qemu-timer only once 2010-03-29 19:24:00 +00: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
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 Add a QFloat datatype 2009-11-17 08:49:38 -06:00
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 QJSON: Introduce qobject_from_jsonv() 2009-12-03 09:41:18 -06:00
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
README
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 savevm: Survive hot-unplug of snapshot device 2010-07-02 13:18:02 +02:00
sdl_keysym.h
sdl_zoom_template.h
sdl_zoom.c
sdl_zoom.h
sdl.c use new cursor struct + functions for vmware vga and sdl. 2010-05-24 15:18:24 -05:00
sh4-dis.c sh4: Fix compiler warning (fprintf format string) 2010-04-14 01:04:02 +02:00
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
softmmu-semi.h
sparc64.ld
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld
sysemu.h Add exit notifiers. 2010-06-14 15:46:28 -05: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
TODO
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 qdev: Replace device names containing whitespace 2009-12-12 07:59:38 -06:00
usb-linux.c Return usb device to host on exit 2010-06-30 22:51:17 +02:00
usb-stub.c
VERSION Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
vgafont.h
vl.c Exit if incoming migration fails 2010-06-22 15:15:51 -05:00
vnc_keysym.h
vnc-auth-sasl.c vnc: Fix compile error on x86_64 with -D_VNC_DEBUG=1 2010-05-03 12:09:22 -05:00
vnc-auth-sasl.h
vnc-auth-vencrypt.c
vnc-auth-vencrypt.h
vnc-encoding-hextile.c vnc: return the number of rectangles 2010-06-01 12:53:09 -05:00
vnc-encoding-tight.c Move stdbool.h 2010-06-13 19:00:50 +01:00
vnc-encoding-tight.h vnc: add basic tight support 2010-06-01 12:53:09 -05:00
vnc-encoding-zlib.c vnc: add basic tight support 2010-06-01 12:53:09 -05:00
vnc-tls.c move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
vnc-tls.h
vnc.c Monitor: Drop QMP documentation from code 2010-06-01 13:48:43 -05:00
vnc.h vnc: keep track of client desktop size 2010-06-01 13:30:08 -05:00
vnchextile.h vnc: rich cursor support. 2010-05-24 15:18:24 -05:00
x86_64.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00
x_keymap.c
x_keymap.h

Read the documentation in qemu-doc.html.

Fabrice Bellard.