QEMU With E2K User Support
Go to file
Michael S. Tsirkin 488f069bd1 virtio-net: add feature bit for any header s/g
Old qemu versions required that 1st s/g entry is the header.

Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup"
removed this limitation but a feature bit is needed so guests know it's
safe to lay out header differently.

This patch applies on top and adds such a feature bit to QEMU.
It is set by default for virtio-net.
virtio net header inline with the data is beneficial
for latency and small packet bandwidth - guest driver
code utilizing this feature has been acked but missed 3.11
by a narrow margin, it's pending for 3.12.

This feature bit is cleared by default when compatibility with old
machine types is requested.

Other performance-sensitive devices (blk and scsi)
don't yet support arbitrary s/g layouts, so
we only set this bit for virtio-net for now.
There are plans to allow arbitrary layouts there, but
no code has been posted yet.

Cc: Rusty Russell <rusty@rustcorp.com.au>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2013-07-15 21:26:26 +03:00
audio audio: Replace static functions in header file by macros, remove GCC_ATTR 2013-06-21 22:52:50 +04:00
backends rng-random: use error_setg_file_open() 2013-06-17 11:01:14 -04:00
block block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
bsd-user cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks 2013-06-28 13:25:12 +02:00
default-configs pci: Cleanup configuration for pci-hotplug.c 2013-07-04 10:45:31 +03:00
disas tcg-arm: Implement division instructions 2013-04-27 02:16:44 +02:00
docs rdma: add documentation 2013-06-27 02:38:35 +02:00
dtc@bc895d6d09 dtc: add submodule 2013-04-18 13:50:53 +02:00
fpu softfloat: Fix shift128Right for shift counts 64..127 2013-06-10 11:36:12 -05:00
fsdev remove double semicolons 2013-05-12 13:25:55 +04:00
gdb-xml
hw net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
include virtio-net: add feature bit for any header s/g 2013-07-15 21:26:26 +03:00
ldscripts
libcacard libcacard: Fix cppcheck warning and remove unneeded code 2013-06-21 22:52:50 +04:00
linux-headers linux-headers: Update to v3.10-rc5 2013-06-12 13:19:10 +04:00
linux-user cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks 2013-06-28 13:25:12 +02:00
net net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
pc-bios multiboot: Updated ROM binary 2013-06-28 14:01:52 -05:00
pixman@97336fad32
po po/hu.po: Hungarian translation for the GTK+ interface 2013-06-03 08:39:11 -05:00
qapi
qga qga: save state directory in ga_install_service() 2013-05-30 11:37:37 -05:00
QMP net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qobject json-parser: fix handling of large whole number values 2013-05-23 09:44:20 -04:00
qom cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
roms update seabios to release 1.7.2.2 2013-05-28 12:19:02 +02:00
scripts main: use TARGET_ARCH only for the target-specific #define 2013-06-14 15:33:11 +01:00
slirp make user networking hostfwd work with restrict=y 2013-06-19 12:44:38 +02:00
stubs cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
sysconfigs/target
target-alpha cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
target-arm cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-cris cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-i386 cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-lm32 cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-m68k cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-microblaze cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
target-mips cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
target-moxie cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-openrisc cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-ppc PPC: Ignore writes to L2CR 2013-07-01 01:11:17 +02:00
target-s390x virtio-ccw: fix build breakage on windows 2013-07-01 11:00:20 +02:00
target-sh4 cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-sparc cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
target-unicore32 cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
target-xtensa cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
tcg tcg-ppc64: rotr_i32 rotates wrong amount 2013-06-17 10:42:16 -07:00
tests qemu-iotests: add 055 drive-backup test case 2013-06-28 09:20:27 +02:00
trace trace: Add ftrace tracing backend 2013-05-03 13:58:09 +02:00
ui console: Hook QemuConsoles into qom tree 2013-06-28 14:03:22 -05:00
util qemu-socket: don't leak opts on error 2013-06-28 22:10:34 +04:00
.exrc
.gitignore gitignore: unignore *.patch 2013-06-11 23:45:43 +04:00
.gitmodules dtc: add submodule 2013-04-18 13:50:53 +02:00
.mailmap
aio-posix.c
aio-win32.c
arch_init.c Graphics: Switch to 800x600x32 as default mode 2013-07-01 01:11:16 +02:00
async.c
balloon.c
block-migration.c
block.c block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
blockdev-nbd.c
blockdev.c blockdev: add Abort transaction 2013-06-28 09:20:27 +02:00
blockjob.c
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog
CODING_STYLE
configure configure: Add signed*signed check to [u]int128_t test 2013-06-21 22:54:24 +04:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c Fix warnings suppressors to honor --disable-werror 2013-04-17 10:28:04 -05:00
coroutine-win32.c
cpu-exec.c target-i386/helper: remove DF macro 2013-06-15 17:50:21 +00:00
cpus.c KVM: Don't assume that mpstate exists with in-kernel PIC always 2013-07-01 01:11:13 +02:00
cputlb.c cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
device_tree.c device tree: Fix cppcheck warning 2013-06-11 23:45:44 +04:00
device-hotplug.c
disas.c disas: Disassemble all ppc insns for the guest 2013-04-26 23:02:42 +02:00
dma-helpers.c dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
dump.c dump: qmp_dump_guest_memory(): use error_setg_file_open() 2013-06-17 11:01:14 -04:00
exec.c cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks 2013-06-28 13:25:12 +02:00
gdbstub.c gdbstub: Set gdb_set_stop_cpu() argument to CPUState 2013-06-28 13:25:13 +02:00
HACKING osdep, kvm: rename low-level RAM allocation functions 2013-05-14 08:53:31 -05:00
hmp-commands.hx pci: Cleanup configuration for pci-hotplug.c 2013-07-04 10:45:31 +03:00
hmp.c hmp: Make "info block" output more readable 2013-06-28 16:14:39 -04:00
hmp.h Make qemu-io commands available in HMP 2013-06-06 11:27:05 +02:00
iohandler.c
ioport.c
kvm-all.c kvm: skip system call when msi route is unchanged 2013-07-03 10:38:20 +02:00
kvm-stub.c KVM: Export kvm_init_irq_routing 2013-07-01 01:11:14 +02:00
LICENSE
main-loop.c main-loop: do not include slirp/slirp.h, use libslirp.h instead 2013-06-12 18:43:08 +04:00
MAINTAINERS MAINTAINERS: s/Marcelo/Paolo/ 2013-07-04 10:42:51 +03:00
Makefile Makefile: pass include directives to dtc via CPPFLAGS, not CFLAGS 2013-06-21 22:52:50 +04:00
Makefile.objs Make qemu-io commands available in HMP 2013-06-06 11:27:05 +02:00
Makefile.target build: do not use TARGET_ARCH 2013-06-14 15:33:10 +01:00
memory_mapping.c memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting 2013-06-11 19:38:13 +02:00
memory.c cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
migration.c rdma: introduce capability x-rdma-pin-all 2013-06-27 02:38:36 +02:00
monitor.c net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
nbd.c nbd: support large NBD requests 2013-05-03 13:05:49 +02:00
os-posix.c Add option to mlock qemu and guest memory 2013-04-22 08:52:23 -05:00
os-win32.c qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 2013-04-12 18:27:16 +02:00
page_cache.c remove some double-includes 2013-05-18 16:35:12 +04:00
qapi-schema-test.json qapi: add native list coverage for QMP output visitor tests 2013-05-23 09:44:21 -04:00
qapi-schema.json net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qdev-monitor.c qdev: Let qdev_prop_parse() pass through Error 2013-05-06 19:40:44 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c Merge remote-tracking branch 'mjt/trivial-patches' into staging 2013-06-28 15:48:35 -05:00
qemu-coroutine-io.c rdma: export yield_until_fd_readable() 2013-06-27 02:38:36 +02:00
qemu-coroutine-lock.c coroutine: stop using AioContext in CoQueue 2013-05-24 16:17:56 +02:00
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: stop using AioContext in CoQueue 2013-05-24 16:17:56 +02:00
qemu-doc.texi doc: we use seabios, not bochs bios 2013-06-28 22:10:34 +04:00
qemu-img-cmds.hx
qemu-img.c qemu-img: Add missing GCC_FMT_ATTR 2013-06-21 22:52:50 +04:00
qemu-img.texi
qemu-io-cmds.c qemu-io: Interface cleanup 2013-06-06 11:27:05 +02:00
qemu-io.c qemu-io: Use the qemu version for -V 2013-06-06 11:27:05 +02:00
qemu-log.c
qemu-nbd.c Add -f FMT / --format FMT arg to qemu-nbd 2013-04-15 14:29:20 -05:00
qemu-nbd.texi Add -f FMT / --format FMT arg to qemu-nbd 2013-04-15 14:29:20 -05:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx vl: convert -smp to qemu_opts_parse() 2013-06-28 14:02:14 -05:00
qemu-seccomp.c seccomp: add the asynchronous I/O syscalls to the whitelist 2013-05-30 11:46:07 -05:00
qemu-tech.texi
qemu-timer.c qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 2013-04-12 18:27:16 +02:00
qemu.sasl
qmp-commands.hx net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qmp.c QMP: Add cpu-add command 2013-05-01 13:06:07 +02:00
qtest.c qtest: Handle addresses and values for {in, out}[bwl] as unsigned 2013-04-22 09:11:50 -05:00
readline.c readline: Handle xterm escape sequences for Home/End keys 2013-05-14 08:53:22 -05:00
README
rules.mak win32: fix compilation again 2013-05-03 12:04:40 -05:00
savevm.c rdma: new QEMUFileOps hooks 2013-06-27 02:38:36 +02:00
spice-qemu-char.c qemu-char: don't issue CHR_EVENT_OPEN in a BH 2013-06-10 11:38:37 -05:00
tcg-runtime.c
tci.c tci: Make tcg temporaries local to tcg_qemu_tb_exec 2013-04-11 19:58:21 +02:00
thread-pool.c
thunk.c
tpm.c Move TPM passthrough specific command line options to backend structure 2013-04-23 10:40:40 -05:00
trace-events block: add basic backup support to block driver 2013-06-28 09:20:26 +02:00
translate-all.c exec: return MemoryRegion from address_space_translate 2013-06-20 16:32:46 +02:00
translate-all.h
user-exec.c user-exec.c: aarch64 initial implementation of cpu_signal_handler 2013-06-12 16:20:23 +01:00
VERSION Open up 1.6 development 2013-05-20 10:55:18 -05:00
version.rc
vl.c vl: convert -smp to qemu_opts_parse() 2013-06-28 14:02:14 -05:00
xbzrle.c
xen-all.c Revert "xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional)" 2013-06-25 11:59:42 +00:00
xen-mapcache.c
xen-stub.c Allow use of pc machine type (accel=xen) for Xen HVM domains. 2013-06-25 12:00:48 +00:00

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

- QEMU team