QEMU With E2K User Support
Go to file
Michael S. Tsirkin ee912ccfa0 e1000: clear EOP for multi-buffer descriptors
The e1000 spec says: if software statically allocates
buffers, and uses memory read to check for completed descriptors, it
simply has to zero the status byte in the descriptor to make it ready
for reuse by hardware. This is not a hardware requirement (moving the
hardware tail pointer is), but is necessary for performing an in–memory
scan.

Thus the guest does not have to clear the status byte.  In case it
doesn't we need to clear EOP for all descriptors
except the last.  While I don't know of any such guests,
it's probably a good idea to stick to the spec.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reported-by: Juan Quintela <quintela@redhat.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-02-20 15:18:20 +01:00
audio pulseaudio: tweak config 2011-01-25 19:56:53 +03:00
block qcow2: Fix order in L2 table COW 2011-02-10 13:24:29 +01:00
bsd-user bsd-user: Fix possible memory leaks and wrong realloc call 2011-01-17 20:23:47 +00:00
darwin-user darwin-user: Use GCC_FMT_ATTR (format checking) 2010-12-04 20:51:19 +00:00
default-configs applesmc: make optional 2011-02-20 09:34:16 +00:00
docs Add boot index documentation. 2011-02-01 16:50:44 -06:00
fpu softfloat: Fix compilation failures with USE_SOFTFLOAT_STRUCT_TYPES 2011-02-10 20:16:43 +01:00
fsdev Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
gdb-xml
hw e1000: clear EOP for multi-buffer descriptors 2011-02-20 15:18:20 +01:00
linux-user linux-user: correct core dump format 2011-02-17 11:46:34 +02:00
net vhost: force vhost off for non-MSI guests 2011-02-01 16:50:44 -06:00
pc-bios Update SeaBIOS to 0.6.1.2 2011-02-01 16:57:00 -06:00
QMP spice: connection events. 2010-12-09 14:23:24 +01:00
roms Update SeaBIOS to 0.6.1.2 2011-02-01 16:57:00 -06:00
scripts checkpatch.pl: don't complain about old lines with tabs 2011-02-05 13:18:20 +00:00
slirp Fix build from previous commit 2011-02-14 14:24:24 -06:00
sysconfigs/target
target-alpha softfloat: Rename float*_is_nan() functions to float*_is_quiet_nan() 2011-01-02 11:15:25 +01:00
target-arm arm: drop unused irq-related part of CPUARMState 2011-02-11 01:10:13 +01:00
target-cris cris, microblaze: use cpu_has_work 2011-02-08 20:37:39 +01:00
target-i386 kvm: x86: Catch and report failing IRQ and NMI injections 2011-02-14 12:39:46 -02:00
target-m68k softfloat: Rename float*_is_nan() functions to float*_is_quiet_nan() 2011-01-02 11:15:25 +01:00
target-microblaze microblaze: Handle singlestepping over direct jmps 2011-02-10 00:46:09 +01:00
target-mips [PATCH] [MIPS] Clear softfpu exception state for round, trunc, ceil and floor 2011-02-09 19:45:24 +01:00
target-ppc Merge remote branch 'qemu-kvm/uq/master' into staging 2011-02-16 08:47:07 -06:00
target-s390x kvm: Drop return values from kvm_arch_pre/post_run 2011-02-14 12:39:46 -02:00
target-sh4 target-sh4: fix negc 2011-02-04 20:19:33 +01:00
target-sparc SPARC: Fix Leon3 cache control 2011-02-01 17:01:41 +00:00
tcg tcg: README, name deposit second argument len/LEN 2011-01-20 12:16:57 +01:00
tests Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
ui vnc: qemu can die if the client is disconnected while updating screen 2011-02-04 06:33:26 -06:00
.gitignore .gitignore: ignore vi swap files and ctags files 2011-02-11 01:13:13 +01:00
.gitmodules
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c
alpha-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
alpha.ld
arch_init.c audio: consolidate audio_init() 2011-01-25 09:18:00 +01:00
arch_init.h audio: consolidate audio_init() 2011-01-25 09:18:00 +01:00
arm-dis.c arm-dis: Include opcode hex when doing disassembly 2011-01-12 15:10:47 +01:00
arm-semi.c Fix commandline handling for ARM semihosted executables 2011-01-07 18:20:48 +02:00
arm.ld
async.c
balloon.c trace: Trace entry point of balloon request handler 2010-09-09 16:22:45 -05:00
balloon.h
block_int.h Add flag to indicate external users to block device 2011-02-07 12:51:19 +01:00
block-migration.c block: enable in_use flag 2011-02-07 12:51:19 +01:00
block-migration.h
block.c fdc: move floppy geometry guessing to block.c 2011-02-20 09:33:17 +00:00
block.h fdc: move floppy geometry guessing to block.c 2011-02-20 09:33:17 +00:00
blockdev.c blockdev: Plug memory leak in drive_init() error paths 2011-02-10 13:24:28 +01:00
blockdev.h blockdev: add refcount to DriveInfo 2011-02-07 12:51:19 +01:00
bswap.h bswap.h: add cpu_to_be64wu() 2011-01-10 10:55:10 +01:00
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c migration: allow rate > 4g 2010-12-02 21:13:39 +02:00
buffered_file.h
cache-utils.c Remove trailing whitespace 2010-11-01 00:54:06 +03:00
cache-utils.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
Changelog
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c Silence compiler warning in json test case 2010-10-22 10:08:37 -02:00
check-qlist.c
check-qstring.c
cmd.c
cmd.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
CODING_STYLE checkpatch: adjust to QEMUisms 2011-01-20 20:58:56 +00:00
compatfd.c signalfd compatibility 2010-10-20 16:15:04 -05:00
compatfd.h signalfd compatibility 2010-10-20 16:15:04 -05:00
config.h
configure target-i386: set target_phys_bits to 64 2011-02-20 15:13:57 +01:00
console.c remove text_console_opts 2011-02-01 16:50:43 -06:00
console.h vnc: Fix password expiration through 'change vnc ""' (v2) 2011-02-01 15:16:48 -06:00
COPYING
COPYING.LIB
cpu-all.h Introduce log_start/log_stop in CPUPhysMemoryClient 2011-02-14 12:39:47 -02:00
cpu-common.h Introduce log_start/log_stop in CPUPhysMemoryClient 2011-02-14 12:39:47 -02:00
cpu-defs.h linux-user: Define target alignment size 2011-02-17 11:46:34 +02:00
cpu-exec.c kvm: Separate TCG from KVM cpu execution 2011-02-14 12:39:46 -02:00
cpus.c Merge remote branch 'qemu-kvm/uq/master' into staging 2011-02-16 08:47:07 -06:00
cpus.h Refactor debug and vmstop request interface 2011-02-14 12:39:46 -02:00
cris-dis.c cris: Support disassembly of crisv10 2011-01-10 22:31:09 +01:00
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c
cutils.c QCOW2: bug fix - read base image beyond its size 2011-02-10 13:23:44 +01:00
def-helper.h
device_tree.c
device_tree.h
dis-asm.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
disas.c disas: remove opcode printing on ARM hosts 2011-01-12 15:12:58 +01:00
disas.h Remove special handling of system include files (no longer needed) 2010-10-22 17:11:28 +00:00
dma-helpers.c
dma.h
dyngen-exec.h Remove special handling of system include files (no longer needed) 2010-10-22 17:11:28 +00:00
elf.h linux-user/elfload: add FDPIC support 2011-02-09 10:33:54 +02:00
envlist.c
envlist.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
exec-all.h Make tb_alloc static 2011-02-10 18:17:43 +01:00
exec.c Introduce log_start/log_stop in CPUPhysMemoryClient 2011-02-14 12:39:47 -02:00
gdbstub.c Improve vm_stop reason declarations 2011-02-14 12:39:46 -02:00
gdbstub.h Add scripts directory 2011-01-20 20:54:21 +00:00
gen-icount.h
HACKING HACKING: add rules for printf-like functions 2010-09-10 18:53:11 +00:00
hmp-commands.hx Change snapshot_blkdev hmp to use correct argument type for device 2011-02-10 13:23:43 +01:00
host-utils.c
host-utils.h
hpet.h
hppa-dis.c
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c
ioport-user.c
ioport.c Type-safe ioport callbacks 2010-11-21 09:16:57 -06:00
ioport.h Type-safe ioport callbacks 2010-11-21 09:16:57 -06:00
iorange.h Type-safe ioport callbacks 2010-11-21 09:16:57 -06:00
iov.c
iov.h
json-lexer.c
json-lexer.h
json-parser.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c kvm: Make kvm_state globally available 2011-02-14 12:39:47 -02:00
kvm-stub.c Introduce log_start/log_stop in CPUPhysMemoryClient 2011-02-14 12:39:47 -02:00
kvm.h kvm: Make kvm_state globally available 2011-02-14 12:39:47 -02:00
libfdt_env.h
LICENSE
linux-aio.c
m68k-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
m68k-semi.c Move qemu_gettimeofday() to OS specific files 2010-10-30 08:02:38 +00:00
m68k.ld
MAINTAINERS spice: MAINTAINERS update 2011-01-24 15:13:54 +01:00
Makefile Add scripts directory 2011-01-20 20:54:21 +00:00
Makefile.dis
Makefile.hw
Makefile.objs applesmc: make optional 2011-02-20 09:34:16 +00:00
Makefile.target applesmc: make optional 2011-02-20 09:34:16 +00:00
Makefile.user
microblaze-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
migration.c Improve vm_stop reason declarations 2011-02-14 12:39:46 -02:00
migration.h add migration state change notifiers 2011-01-24 15:13:54 +01:00
mips-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
mips.ld
module.c
module.h
monitor.c Improve vm_stop reason declarations 2011-02-14 12:39:46 -02:00
monitor.h spice: connection events. 2010-12-09 14:23:24 +01:00
nbd.c nbd: Haiku has _IO() in its BSD compatibility layer 2010-10-03 06:31:33 +00:00
nbd.h Merge remote branch 'kwolf/for-anthony' into staging 2010-09-08 14:26:57 -05:00
net-checksum.c
net.c net/sock: option to specify local address 2010-12-09 12:45:50 +02:00
net.h Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
notify.c
notify.h
os-posix.c Separate qemu_pidfile() into OS specific versions 2010-10-30 08:02:39 +00:00
os-win32.c Separate qemu_pidfile() into OS specific versions 2010-10-30 08:02:39 +00:00
osdep.c Remove unncessary includes 2010-10-30 08:02:40 +00:00
osdep.h Move qemu_gettimeofday() to OS specific files 2010-10-30 08:02:38 +00:00
oslib-posix.c virtio-9p: fix build on !CONFIG_UTIMENSAT 2010-12-02 16:08:40 -08:00
oslib-win32.c Consolidate oom_check() functions 2010-10-30 08:02:39 +00:00
path.c user: speed up init_paths a bit 2011-02-09 10:33:54 +02:00
pci-ids.txt
pflib.c add pflib: PixelFormat conversion library. 2010-09-21 18:35:30 +02:00
pflib.h add pflib: PixelFormat conversion library. 2010-09-21 18:35:30 +02:00
poison.h
posix-aio-compat.c Move qemu_gettimeofday() to OS specific files 2010-10-30 08:02:38 +00:00
ppc64.ld
ppc-dis.c
ppc.ld
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu_socket.h Fix OpenBSD build 2010-09-22 20:05:23 +00:00
qemu-aio.h
qemu-barrier.h
qemu-char.c fix QemuOpts leak 2011-02-01 16:50:44 -06:00
qemu-char.h add qemu_chr_set_echo 2011-02-01 16:50:43 -06:00
qemu-common.h Merge remote branch 'kwolf/for-anthony' into staging 2011-02-16 08:47:13 -06:00
qemu-config.c spice: add chardev (v5) 2011-01-24 15:41:40 +01:00
qemu-config.h spice: core bits 2010-09-21 18:36:42 +02:00
qemu-doc.texi Documentation: add Sheepdog disk images 2011-02-07 09:44:45 +01:00
qemu-error.c
qemu-error.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qemu-img-cmds.hx Copy snapshots out of QCOW2 disk 2010-10-22 14:49:35 +02:00
qemu-img.c qemu-img: Improve error messages for failed bdrv_open 2011-02-10 13:24:11 +01:00
qemu-img.texi Documentation: Add qemu-img check/rebase 2011-01-24 16:41:49 +01:00
qemu-io.c qemu-io: Fix discard command 2011-01-31 10:03:00 +01:00
qemu-lock.h Remove unused spin_trylock() function 2010-12-04 21:21:28 +00:00
qemu-log.h
qemu-malloc.c Add missing tracing to qemu_mallocz() 2010-12-14 15:44:21 +01:00
qemu-nbd.c Remove NULL checks for bdrv_new return value 2010-12-17 16:11:03 +01:00
qemu-nbd.texi
qemu-objects.h
qemu-option.c qemu-option: Fix parse_option_parameters() documentation typo 2010-12-14 15:44:21 +01:00
qemu-option.h
qemu-options.h
qemu-options.hx vhost: force vhost off for non-MSI guests 2011-02-01 16:50:44 -06:00
qemu-os-posix.h virtio-9p: fix build on !CONFIG_UTIMENSAT 2010-12-02 16:08:40 -08:00
qemu-os-win32.h Move qemu_gettimeofday() to OS specific files 2010-10-30 08:02:38 +00:00
qemu-queue.h
qemu-sockets.c
qemu-tech.texi qemu-tech: Spelling fixes 2011-01-09 20:59:53 +00:00
qemu-thread.c
qemu-thread.h
qemu-timer-common.c Add OpenBSD to ifdef list since it has CLOCK_MONOTONIC. 2010-12-21 19:44:42 +00:00
qemu-timer.c qemu-timer: Fix compilation of new timer code for w32, w64 2011-02-07 19:50:29 +00:00
qemu-timer.h Mov muldiv64 to qemu-common.h (Thus unbreaking gus) 2010-10-30 01:41:01 +04:00
qemu-tool.c Move qemu_gettimeofday() to OS specific files 2010-10-30 08:02:38 +00:00
qemu-x509.h
qemu.sasl
qerror.c qerror: Add QERR_UNKNOWN_BLOCK_FORMAT_FEATURE 2011-02-10 13:23:44 +01:00
qerror.h qerror: Add QERR_UNKNOWN_BLOCK_FORMAT_FEATURE 2011-02-10 13:23:44 +01:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c Add support for JSON pretty printing 2010-10-01 10:12:43 -03:00
qjson.h Merge remote branch 'qmp/for-anthony' into staging 2010-10-05 13:54:49 -05:00
qlist.c
qlist.h
qmp-commands.hx Merge remote branch 'spice/spice.v29.pull' into staging 2011-02-01 15:22:48 -06:00
qobject.h
qstring.c
qstring.h
range.h Introduce range.h 2010-09-18 05:53:14 +00:00
readline.c
readline.h
README
rules.mak Add scripts directory 2011-01-20 20:54:21 +00:00
rwhandler.c Make simple io mem handler endian aware 2010-12-11 15:24:25 +00:00
rwhandler.h Make simple io mem handler endian aware 2010-12-11 15:24:25 +00:00
s390-dis.c
s390.ld
savevm.c Improve vm_stop reason declarations 2011-02-14 12:39:46 -02:00
sh4-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
simpletrace.c qemu-timer: move commonly used timer code to qemu-timer-common 2010-10-23 15:24:07 +00:00
simpletrace.h trace: Use fprintf_function (format checking) 2010-11-21 09:16:57 -06:00
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h
softmmu-semi.h
sparc64.ld
sparc-dis.c
sparc.ld
spice-qemu-char.c spice: add chardev (v5) 2011-01-24 15:41:40 +01:00
sysemu.h Refactor debug and vmstop request interface 2011-02-14 12:39:46 -02:00
targphys.h
tcg-runtime.c
thunk.c
thunk.h
TODO
trace-events Merge remote branch 'spice/spice.v29.pull' into staging 2011-02-01 15:22:48 -06:00
translate-all.c
uboot_image.h
usb-bsd.c usb-bsd: fix a file descriptor leak 2011-01-09 14:43:33 +00:00
usb-linux.c usb-linux: Get the active configuration from sysfs rather then asking the dev 2010-11-16 14:35:00 -06:00
usb-stub.c
VERSION Open up the 0.15 development branch 2011-02-02 08:39:28 +01:00
version.rc mingw: add version information to the executables 2010-09-26 16:07:57 +00:00
vgafont.h
vl.c Move debug exception handling out of cpu_exec 2011-02-14 12:39:46 -02:00
x86_64.ld

Read the documentation in qemu-doc.html.

Fabrice Bellard.