QEMU With E2K User Support
Go to file
aurel32 89c0f6438d scsi-generic: correct error management
this patch allows to fully use a tape device connected to qemu through
the scsi-generic interface.

Previous patch introduced tape SCSI commands management, this one
improve error case management:

- the SCSI controller command completion must be called with the status
value, not the sense value. In the case of scsi-generic, the SCSI status
is given by the field status of sg_io_hdr_t (the value is left shifted
by one regarding status codes defined in /usr/include/scsi/scsi.h)

- when a read is aborted due to a mark/EOF/EOD/EOM, the len reported to
controller can be 0. LSI controller emulation doesn't know how to manage
this. A workaround found is to call the completion routine with
SCSI_REASON_DONE just after calling it with SCSI_REASON_DATA with len=0.

This patch also manages correctly the block size of the tape device.

This patch has been tested with a real tape device "HP C5683A", linux
guest (debian etch) and tools like "mt", "tar" and "btape".

Windows guest is not better supported than before...

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5497 c046a42c-6fe2-441c-8c8c-71466251a162
2008-10-17 08:08:56 +00:00
audio Prepare for changing audio_pcm_ops dynamically (partially revert r5422) 2008-10-06 18:08:30 +00:00
darwin-user Make target_sigaltstack_used static 2008-10-05 11:09:37 +00:00
fpu Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
gdb-xml Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
hw scsi-generic: correct error management 2008-10-17 08:08:56 +00:00
keymaps fixing keymap for Windows keys (Stefano Stabellini) 2008-09-22 19:45:36 +00:00
linux-user linux-user: implement msg* syscalls 2008-10-13 21:08:55 +00:00
pc-bios Update OpenBIOS images to SVN r237. 2008-09-18 19:41:28 +00:00
slirp Fix warning about variables used uninitialized 2008-10-01 19:39:40 +00:00
target-alpha target-alpha: update STATUS 2008-10-01 07:07:59 +00:00
target-arm Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
target-cris CRIS: Initialize the arch version preg to v32. 2008-10-11 19:36:17 +00:00
target-i386 i386/SVM: return amount of ASIDs 2008-10-17 08:08:48 +00:00
target-m68k Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
target-mips Show size for unassigned accesses (Robert Reif) 2008-10-06 18:46:28 +00:00
target-ppc PPC: fix dcbi instruction 2008-10-15 22:25:21 +00:00
target-sh4 SH4: Implement MOVUA.L 2008-10-12 23:32:59 +00:00
target-sparc Add static (spotted by sparse) 2008-10-07 19:12:13 +00:00
tcg Add some missing static and const qualifiers, reg_names only used if NDEBUG set 2008-10-05 09:59:14 +00:00
tests Implement SSE4.1, SSE4.2 (x86). 2008-10-04 03:27:44 +00:00
.gitignore Add gitignore file 2008-09-09 17:15:28 +00:00
a.out.h 64bit->win32 cross build fix. 2007-03-04 00:52:16 +00:00
aes.c Fix miscellaneous minor things, by Andre Przywara. 2007-12-17 03:15:52 +00:00
aes.h AES crypto support 2004-08-01 21:54:53 +00:00
aio.c Make sure to initialize fd_sets in aio.c 2008-10-12 21:19:57 +00:00
alpha-dis.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
alpha.ld alpha support 2003-04-29 20:53:42 +00:00
arm-dis.c Update ARM disassembler. 2007-11-10 17:38:00 +00:00
arm-semi.c Add missing return in arm-semi, by Laurent Desnogues. 2008-07-01 16:40:04 +00:00
arm.ld Link ARM prologue closer to code segment to avoid a build failure 2008-07-10 17:21:31 +00:00
block_int.h Fix warnings that would be caused by ld flag --warn-common 2008-09-17 19:04:14 +00:00
block-bochs.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-cloop.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-cow.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-dmg.c Add qemu_realloc(), by Gerd Hoffmann. 2008-08-06 08:37:17 +00:00
block-nbd.c Remove unnecessary #includes from block-nbd.c 2008-08-19 19:10:38 +00:00
block-parallels.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-qcow2.c fix bug in block-qcow2.c:alloc_cluster_offset() (Shahar Frank) 2008-09-24 16:52:15 +00:00
block-qcow.c Remove dead-code (else-block) from block-qcow.c, by Marc Bevand. 2008-06-05 22:00:45 +00:00
block-raw-posix.c Fix previous commit (spotted by Robert Riebisch). 2008-10-14 18:14:47 +00:00
block-raw-win32.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
block-vmdk.c Fix warning, based on patches by Zeev Tarantov and Jindrich Makovicka 2008-09-28 20:00:14 +00:00
block-vpc.c Fix char* signedness, by Andre Przywara. 2007-12-16 03:16:05 +00:00
block-vvfat.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
block.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
block.h Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
bswap.h e1000: fix unaligned access 2008-03-28 22:30:48 +00:00
bt-host.c Disable bluetooth proxy compilation on win32. 2008-09-30 23:31:35 +00:00
bt-vhci.c Disable bluetooth proxy compilation on win32. 2008-09-30 23:31:35 +00:00
buffered_file.c Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
Changelog Update 2008-06-08 01:55:07 +00:00
check_ops.sh Fixes for s/390 host support, by Bastian Blank. 2007-11-18 21:22:10 +00:00
cocoa.m Let the USB tablet reach the far bottom and right pixels 2008-03-10 19:34:27 +00:00
configure Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
console.c Reintroduce TEXT_CONSOLE_FIXED_SIZE and TEXT_CONSOLE for resizable vc's. 2008-09-24 03:32:33 +00:00
console.h Allow the monitor to be suspended during non-blocking op 2008-10-06 13:52:44 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB update 2003-05-25 16:41:52 +00:00
cpu-all.h Add dirty tracking for live migration 2008-10-06 14:02:03 +00:00
cpu-defs.h Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
cpu-exec.c CRIS: Fix brk 8 and add S-flag emulation. 2008-10-07 22:48:41 +00:00
cris-dis.c Teach the CRIS disassembler to stay within the provided buffer. 2008-05-06 08:45:10 +00:00
curses_keys.h Make keysym tables const 2008-10-02 18:26:42 +00:00
curses.c Reintroduce TEXT_CONSOLE_FIXED_SIZE and TEXT_CONSOLE for resizable vc's. 2008-09-24 03:32:33 +00:00
cutils.c Prevent guest reusing host memory allocations. 2008-06-09 13:47:45 +00:00
d3des.c Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
d3des.h Actually add d3des implementation files. 2007-08-25 02:09:50 +00:00
dis-asm.h Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
disas.c Fix warnings that would be generated by gcc -Wstrict-prototypes 2008-08-17 20:21:51 +00:00
disas.h monitor_disas() prototype change 2005-11-21 23:35:10 +00:00
dyngen-exec.h Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
dyngen.c Fix some warnings that would be generated by gcc -Wmissing-prototypes 2008-08-17 20:26:25 +00:00
elf_ops.h Add statics and missing #includes for prototypes. 2007-11-18 01:44:38 +00:00
elf.h Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
exec-all.h Show size for unassigned accesses (Robert Reif) 2008-10-06 18:46:28 +00:00
exec.c Show size for unassigned accesses (Robert Reif) 2008-10-06 18:46:28 +00:00
feature_to_c.sh Add feature_to_c.sh. 2008-10-11 18:23:22 +00:00
gdbstub.c gdbstub: remove unused local variable 2008-10-14 19:23:35 +00:00
gdbstub.h Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
gen-icount.h Spelling fixes, spotted by Stuart Brady. 2008-06-30 17:22:19 +00:00
host-utils.c Code used by the linux-user targets should not use vl.h. 2007-11-05 13:01:41 +00:00
host-utils.h Define macro QEMU_GNUC_PREREQ and use it 2008-10-12 16:15:04 +00:00
hostregs_helper.h Fix 64-bit host register corruption. 2007-02-04 13:37:44 +00:00
hpet.h Add a local copy of hpet.h. 2007-09-16 20:03:23 +00:00
hppa-dis.c HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
hppa.ld HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
i386-dis.c Make some i386 disassembler tables const 2008-10-02 18:29:22 +00:00
i386.ld Add TLS sections. 2008-05-31 16:21:33 +00:00
ia64.ld ia64 host support (David Mosberger) 2005-04-07 22:20:31 +00:00
keymaps.c Make keysym tables const 2008-10-02 18:26:42 +00:00
kqemu.c Fix error reporting under Win32 (CreateFile does not set errno) 2008-06-08 01:55:09 +00:00
kqemu.h kqemu API change - allow use of kqemu with 32 bit QEMU on a 64 bit host 2008-05-30 20:48:25 +00:00
LICENSE use the TCG code generator 2008-02-01 10:50:11 +00:00
loader.c Remove most uses of phys_ram_base (initial patch by Ian Jackson) 2008-05-12 17:22:13 +00:00
m68k-dis.c Fix warnings that would be caused by gcc flag -Wwrite-strings 2008-09-14 06:45:34 +00:00
m68k-semi.c Break up vl.h. 2007-11-17 17:14:51 +00:00
m68k.ld m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
MAINTAINERS Update maintainers list. 2008-08-25 22:26:03 +00:00
Makefile Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
Makefile.target Introduce TCP live migration protocol 2008-10-13 03:14:31 +00:00
migration-tcp.c Introduce TCP live migration protocol 2008-10-13 03:14:31 +00:00
migration.c Introduce TCP live migration protocol 2008-10-13 03:14:31 +00:00
migration.h Introduce TCP live migration protocol 2008-10-13 03:14:31 +00:00
mips-dis.c Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
mips.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
mipsel.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
monitor.c Introduce UI for live migration 2008-10-13 03:12:02 +00:00
nbd.c Use common objects for qemu-img and qemu-nbd 2008-09-15 15:51:35 +00:00
nbd.h qemu-nbd: remove useless parameter from nbd_negotiate() (Laurent Vivier) 2008-09-10 15:23:19 +00:00
net-checksum.c Add IP checksumming functions to qemu (Gerd Hoffmann) 2008-07-29 19:40:04 +00:00
net.h Add a "null" bluetooth HCI and a header file for bluetooth. 2008-09-28 23:19:47 +00:00
osdep.c Use common objects for qemu-img and qemu-nbd 2008-09-15 15:51:35 +00:00
osdep.h Define macro QEMU_GNUC_PREREQ and use it 2008-10-12 16:15:04 +00:00
ppc64.ld Correct version of Heikki Lindholms ppc64.ld script 2008-08-20 22:39:24 +00:00
ppc-dis.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
ppc.ld Update ppc.ld to work with newer binutils. 2007-04-28 19:00:30 +00:00
qemu_socket.h Introduce UI for live migration 2008-10-13 03:12:02 +00:00
qemu-aio.h Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
qemu-binfmt-conf.sh Code provision for n32/n64 mips userland emulation. Not functional yet. 2007-09-30 01:58:33 +00:00
qemu-char.h qemu-char.h: Fix IOCTL values 2008-08-22 21:25:00 +00:00
qemu-common.h Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
qemu-doc.texi Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
qemu-img.c Fix OpenBSD linker warnings in qemu-img 2008-08-24 10:30:33 +00:00
qemu-img.texi New qemu-img convert -B option, by Marc Bevand. 2008-06-05 21:53:49 +00:00
qemu-lock.h Multithreaded locking fixes. 2008-06-07 20:50:51 +00:00
qemu-log.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
qemu-malloc.c Fix error introduced by r5044 2008-08-25 20:03:28 +00:00
qemu-nbd.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
qemu-nbd.texi Fix formatting of documentation (Stefan Weil) 2008-09-22 20:41:57 +00:00
qemu-tech.texi Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej) 2008-10-09 18:52:04 +00:00
qemu-timer.h Break up vl.h. 2007-11-17 17:14:51 +00:00
qemu-tool.c Fix IO performance regression in sparc 2008-10-08 19:50:24 +00:00
readline.c Handle history additions properly, by Andreas Schwab. 2007-12-17 20:31:43 +00:00
README update 2005-02-10 21:46:47 +00:00
s390-dis.c Revert licensing to "GPLv2 or later", by Ulrich Hecht. 2008-01-17 13:56:59 +00:00
s390.ld update 2003-04-29 21:34:02 +00:00
sdl_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
sdl.c add DisplayState->idle (Samuel Thibault) 2008-08-21 20:08:55 +00:00
sh4-dis.c Fix warnings that would be caused by gcc flag -Wwrite-strings 2008-09-14 06:45:34 +00:00
softmmu_defs.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_exec.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_header.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_template.h Add instruction counter. 2008-06-29 01:03:05 +00:00
softmmu-semi.h Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
sparc64.ld Map code buffers below 2G on Sparc64 2008-07-26 15:05:57 +00:00
sparc-dis.c Change some qualifiers to static 2008-10-01 18:13:13 +00:00
sparc.ld More detabification 2007-10-06 11:28:21 +00:00
sys-queue.h Move audio/sys-queue.h => sys-queue.h 2008-07-29 20:08:37 +00:00
sysemu.h Introduce ethernet announcement function. 2008-10-13 03:13:12 +00:00
tap-win32.c Use WIN32_LEAN_AND_MEAN, by Stefan Weil. 2007-12-17 04:42:29 +00:00
texi2pod.pl Update texi2pod.pl. 2008-02-04 14:47:49 +00:00
thunk.c Make bitmask tables static const 2008-10-05 10:51:10 +00:00
thunk.h Make bitmask tables static const 2008-10-05 10:51:10 +00:00
TODO update 2008-05-13 18:26:52 +00:00
translate-all.c Small cleanup of gen_intermediate_code(_internal), by Laurent Desnogues. 2008-07-18 18:01:29 +00:00
uboot_image.h Simple u-boot image loading support. 2007-03-06 23:52:01 +00:00
usb-linux.c Add USB sys file-system support (v8) (TJ) 2008-10-07 20:06:37 +00:00
VERSION version change 2008-01-06 17:10:54 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
vnc_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
vnc.c Fix compiler warning when _VNC_DEBUG isn't defined. 2008-09-24 15:17:57 +00:00
vnchextile.h vnc dynamic resolution (Stefano Stabellini) 2008-09-15 16:03:41 +00:00
x86_64.ld update 2005-01-06 20:50:00 +00:00
x_keymap.c Add statics and missing #includes for prototypes. 2007-11-18 01:44:38 +00:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.