QEMU With E2K User Support
Go to file
Laurent Vivier 5fe16888d3 Improve qemu-nbd performance by 4400 %
This patch allows to reduce the boot time from an NBD server from 225 seconds to
5 seconds (time between the "boot cd:0" and the kernel init) for the
following command lines:

./qemu-nbd -t ../ISO/debian-500-powerpc-netinst.iso
and
./ppc-softmmu/qemu-system-ppc -cdrom nbd:localhost:1024

This patch combines the reply header and payload send operation.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2010-09-21 15:39:42 +02:00
audio audio/sdl: return on error 2010-08-07 20:04:24 +04:00
block raw-posix: handle > 512 byte alignment correctly 2010-09-21 15:39:42 +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 trace: Add user documentation 2010-09-09 16:22:44 -05:00
fpu softfloat: add float32_exp2() 2010-07-13 18:18:23 +02:00
fsdev virtio-9p: Introduces an option to specify the security model. 2010-06-22 15:15:30 -05:00
gdb-xml
hw use qemu_blockalign consistently 2010-09-21 15:39:42 +02:00
linux-user linux-user: improve flatload error checking 2010-09-18 05:53:14 +00:00
net tap: add APIs for vnet header length 2010-09-07 20:27:33 +03:00
pc-bios Sparc: update OpenBIOS images to r859 2010-08-26 17:57:47 +00:00
QMP QMP: Update README file 2010-08-22 17:11:06 -05:00
roms Update SeaBIOS 2010-07-13 08:55:04 -05:00
slirp Make ARP replies at least 64 bytes long 2010-09-17 12:46:27 +02: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: Fix watchdog resets 2010-09-19 00:30:25 +02:00
target-i386 QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
target-m68k remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-microblaze microblaze: Add support for fcmp.un 2010-09-09 22:05:48 +02:00
target-mips MIPS: fix yield handling 2010-09-18 05:53:15 +00:00
target-ppc PPC: Suppress gcc warnings with -Wtype-limits 2010-09-18 05:53:15 +00:00
target-s390x remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-sh4 target-sh4: Add support for ldc & stc with sgr 2010-07-12 10:20:31 +02:00
target-sparc remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
tcg TCG: Revert ppc64 tcg_out_movi32 change 2010-08-15 00:57:40 +04:00
tests Remove wrong semicolon in macro definition 2010-09-14 10:58:38 +02:00
ui vnc: use bswapNN() rather than bswap_NN() 2010-09-04 10:11:32 +00:00
.gitignore trace: Add simple built-in tracing backend 2010-09-09 16:22:44 -05: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 Remove PARAMS() macro 2009-09-25 19:53:21 +00:00
alpha.ld
arch_init.c arch_init: replace tabs by spaces. 2010-08-22 16:19:00 -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 trace: Trace entry point of balloon request handler 2010-09-09 16:22:45 -05:00
balloon.h move balloon handling to balloon.c 2010-04-09 18:55:56 +02:00
block_int.h Revert "Make default invocation of block drivers safer (v3)" 2010-09-08 17:09:15 -05:00
block-migration.c block migration: replace tabs by spaces. 2010-08-03 15:57:22 +02:00
block-migration.h block migration: Report progress also via info migration 2009-12-03 10:48:53 -06:00
block.c trace: Trace virtio-blk, multiwrite, and paio_submit 2010-09-09 16:22:45 -05:00
block.h block: Fix BDRV_O_CACHE_MASK 2010-09-08 12:39:22 +02:00
blockdev.c QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
blockdev.h Rearrange block headers 2010-08-24 15:22:24 +00: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 set proper migration status on ->write error (v5) 2010-08-19 08:44:37 -05: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
CODING_STYLE HACKING: add C type rules 2010-09-10 18:47:31 +00:00
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure mingw: use ASLR, no-SEH and DEP if available 2010-09-19 08:36:34 +00: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 linux-user: fix build on hosts not using guest base 2010-07-30 21:09:10 +02:00
cpu-common.h Add qemu_ram_alloc_from_ptr function 2010-08-10 16:25:15 -05: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 mips: Add support for VInt and VEIC irq modes 2010-08-06 12:21:16 +02:00
cpus.c Rework debug exception processing for gdb use 2010-07-22 05:52:09 +02:00
cpus.h Rename tcg_cpu_exec and tcg_has_work 2010-07-22 05:52:09 +02: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
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
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 Fix device tree compile broken by ca20cf32ab 2009-09-23 08:41:45 +02:00
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 Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dyngen-exec.h Move stdbool.h 2010-06-13 19:00:50 +01:00
elf.h Add more DT_* and AT_* constants to qemu's copy of elf.h. 2010-07-29 08:32:27 +02:00
envlist.c
envlist.h
exec-all.h remove dead code 2010-07-24 14:42:29 +02:00
exec.c Fix segfault in mmio subpage handling code. 2010-08-28 08:47:23 +00:00
feature_to_c.sh Use gcc warning flag -Wnested-externs 2010-09-18 07:02:16 +00:00
gdbstub.c Use gcc warning flag -Wnested-externs 2010-09-18 07:02:16 +00:00
gdbstub.h Use gcc warning flag -Wnested-externs 2010-09-18 07:02:16 +00:00
gen-icount.h Compile qemu-timer only once 2010-03-29 19:24:00 +00:00
HACKING HACKING: add rules for printf-like functions 2010-09-10 18:53:11 +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 Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.c trace: Trace port IO 2010-09-09 16:22:45 -05:00
ioport.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
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
kvm-all.c Merge remote branch 'qemu-kvm/uq/master' into staging 2010-08-23 15:10:12 -05:00
kvm-stub.c Add kvm_set_ioeventfd_mmio_long definition for non-KVM systems 2010-08-15 09:44:47 +00:00
kvm.h Add function to assign ioeventfd to MMIO. 2010-08-10 16:25:15 -05: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 PPC: Change PPC maintainer 2010-09-07 13:46:17 +02:00
Makefile trace: Add simple built-in tracing backend 2010-09-09 16:22:44 -05: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 trace: Add simple built-in tracing backend 2010-09-09 16:22:44 -05:00
Makefile.target trace: Add trace-events file for declaring trace events 2010-09-09 16:22:44 -05: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 Close socket file descriptor when qemu_accept fails 2010-07-25 17:03:51 +02:00
migration-unix.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration.c set proper migration status on ->write error (v5) 2010-08-19 08:44:37 -05: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 trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
monitor.h monitor: Allow to exclude commands from QMP 2010-07-01 14:27:14 -03:00
nbd.c Improve qemu-nbd performance by 4400 % 2010-09-21 15:39:42 +02:00
nbd.h Merge remote branch 'kwolf/for-anthony' into staging 2010-09-08 14:26:57 -05:00
net-checksum.c
net.c QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05: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 Use ARRAY_SIZE macro 2010-08-20 21:03:24 +00:00
os-win32.c win32: Add missing function setenv 2010-08-15 09:45:28 +00:00
osdep.c trace: Trace qemu_malloc() and qemu_vmalloc() 2010-09-09 16:22:45 -05:00
osdep.h win32: Add missing function setenv 2010-08-15 09:45:28 +00: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 use qemu_blockalign consistently 2010-09-21 15:39:42 +02:00
ppc64.ld
ppc-dis.c Work around OpenSolaris sys/regset.h namespace pollution 2009-09-12 12:36:11 +00:00
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 Introduce proper compiler barrier 2010-07-22 05:52:08 +02:00
qemu-binfmt-conf.sh target-alpha: Add binfmt entry. 2009-12-13 20:32:36 +01:00
qemu-char.c QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
qemu-char.h RESEND: Inter-VM shared memory PCI device 2010-08-10 16:25:16 -05:00
qemu-common.h Rearrange block headers 2010-08-24 15:22:24 +00:00
qemu-config.c trace: Add trace file name command-line option 2010-09-09 16:22:44 -05:00
qemu-config.h QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
qemu-doc.texi nbd: Introduce NBD named exports. 2010-08-30 18:29:22 +02: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 qemu-img: Fix copy+paste bug in documentation 2010-07-13 17:48:17 +02:00
qemu-img.c qemu-img convert: Use cache=unsafe for output image 2010-09-08 12:39:20 +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 use qemu_blockalign consistently 2010-09-21 15:39:42 +02:00
qemu-lock.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
qemu-log.h
qemu-malloc.c trace: Trace qemu_malloc() and qemu_vmalloc() 2010-09-09 16:22:45 -05:00
qemu-monitor.hx trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
qemu-nbd.c use qemu_blockalign consistently 2010-09-21 15:39:42 +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 error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +02:00
qemu-option.h error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +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 trace: Add trace file name command-line option 2010-09-09 16:22:44 -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 qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit 2010-07-26 17:36:14 -05:00
qemu-thread.h qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit 2010-07-26 17:36:14 -05:00
qemu-timer.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05: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 migration: Accept 'cont' only after successful incoming migration 2010-07-30 23:14:08 +02:00
qerror.h migration: Accept 'cont' only after successful incoming migration 2010-07-30 23:14:08 +02: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
range.h Introduce range.h 2010-09-18 05:53:14 +00: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 Fix OpenBSD build warning 2010-09-09 19:13:04 +00:00
sh4-dis.c sh4: Fix compiler warning (fprintf format string) 2010-04-14 01:04:02 +02:00
simpletrace.c trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
simpletrace.h trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
simpletrace.py trace: Add simple built-in tracing backend 2010-09-09 16:22:44 -05: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 Fix sparc.ld 2009-09-13 19:38:43 +00:00
sysemu.h migration: Accept 'cont' only after successful incoming migration 2010-07-30 23:14:08 +02: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
trace-events trace: fix a typo 2010-09-10 23:54:56 +03:00
tracetool trace: fix a regex portability problem 2010-09-11 10:43:39 +00:00
translate-all.c tcg: get rid of copy_size in TCGOpDef 2010-06-09 16:10:50 +02:00
uboot_image.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
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 for 0.13.x 2010-07-28 07:58:15 -05:00
vgafont.h
vl.c trace: Add trace file name command-line option 2010-09-09 16:22:44 -05:00
x86_64.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.