adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Paolo Bonzini c8dcb531bc scsi: do not return short responses for emulated commands
The inquiry command, for the case of VPD=1, was returning short
responses; the number of returned bytes was just the number of bytes
in the request, without padding to the specified allocation length
with zero bytes.  This is usually harmless, but it is a violation
of the SCSI specification.

To fix this, always pad with zero bytes to r->cmd.xfer in
scsi_disk_emulate_command, and return at most r->buflen bytes
(the size of the buffer for command data) rather than at most
buflen bytes (the number of bytes that was filled in).

Before this patch, "strace sg_inq -p0x83 /dev/sda" would report a
non-zero resid value.  After this patch, it reports resid=0.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-11-12 15:00:27 +01:00
QMP qmp: add pull_event function 2012-10-24 10:26:22 +02:00
audio
block Merge remote-tracking branch 'origin/master' into threadpool 2012-10-31 10:42:51 +01:00
bsd-user
default-configs target-sparc64: disable VGA cirrus 2012-10-27 14:36:04 +00:00
docs
fpu softfloat: implement fused multiply-add NaN propagation for MIPS 2012-10-31 22:20:45 +01:00
fsdev
gdb-xml
hw scsi: do not return short responses for emulated commands 2012-11-12 15:00:27 +01:00
include/qemu cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
libcacard
linux-headers
linux-user target-mips: Add ASE DSP resources access check 2012-10-31 20:24:06 +01:00
net net: use "socket" model name for UDP sockets 2012-11-01 11:00:59 +01:00
pc-bios
pixman@97336fad32 pixman: add submodule 2012-11-01 13:10:06 +01:00
qapi build: opts-visitor is not really part of QAPI 2012-10-30 09:30:52 +01:00
qga qemu-ga: ask and print error information from qemu-sockets 2012-10-23 13:54:56 +02:00
qom
roms
scripts update-linux-headers.sh: Handle new kernel uapi/ directories 2012-10-30 23:39:53 -02:00
slirp slirp: remove unused function u_sleep 2012-11-10 13:49:20 +00:00
sysconfigs/target
target-alpha disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-arm disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-cris disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-i386 target-i386: avoid using cpu_single_env 2012-11-10 13:49:21 +00:00
target-lm32 disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-m68k disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-microblaze disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-mips target-mips: Fix seg fault for LUI when MIPS_DEBUG_DISAS==1. 2012-11-11 16:05:25 +01:00
target-openrisc disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-ppc disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-s390x disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-sh4 disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-sparc disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-unicore32 target-unicore32: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
target-xtensa target-xtensa: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
tcg tcg: properly check that op's output needs to be synced to memory 2012-11-11 16:06:46 +01:00
tests tests/tcg: new test for i386 FPREM and FPREM1 2012-11-10 13:49:05 +00:00
trace
ui Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-11-03 12:55:05 +00:00
.exrc
.gitignore
.gitmodules pixman: add submodule 2012-11-01 13:10:06 +01:00
.mailmap
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
LICENSE
MAINTAINERS
Makefile Merge remote-tracking branch 'kraxel/pixman.v3' into staging 2012-11-01 11:14:39 -05:00
Makefile.dis
Makefile.objs Merge remote-tracking branch 'kraxel/pixman.v3' into staging 2012-11-01 11:14:39 -05:00
Makefile.target
Makefile.user
README
TODO
VERSION
a.out.h
acl.c
acl.h
aes.c
aes.h
aio-posix.c aio: call aio_notify after setting I/O handlers 2012-10-30 09:30:53 +01:00
aio-win32.c aio: call aio_notify after setting I/O handlers 2012-10-30 09:30:53 +01:00
alpha-dis.c
alpha.ld
arch_init.c
arch_init.h compiler: use weak aliases to provide default definitions 2012-10-30 09:18:43 +01:00
arm-dis.c
arm.ld
async.c aio: clean up now-unused functions 2012-10-30 09:30:54 +01:00
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block-migration.c
block-migration.h
block.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
block.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
block_int.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
blockdev-nbd.c qmp: add NBD server commands 2012-10-23 22:39:33 +02:00
blockdev.c Issue warning when deprecated drive parameter boot=on|off is used 2012-10-30 23:39:52 -02:00
blockdev.h
blockjob.c iostatus: forward block_job_iostatus_reset to block job 2012-10-24 10:26:22 +02:00
blockjob.h iostatus: forward block_job_iostatus_reset to block job 2012-10-24 10:26:22 +02:00
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c migration: add qemu_get_fd 2012-11-02 18:34:59 +01:00
buffered_file.h
cache-utils.c
cache-utils.h
cmd.c
cmd.h
compatfd.c
compatfd.h
compiler.h compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
config.h
configure tcg/ppc: ld/st optimization 2012-11-03 20:17:54 +04:00
console.c pixman: drop obsolete fields from DisplaySurface 2012-11-01 14:00:05 +01:00
console.h vmware_vga: Remove duplicated info from local state 2012-11-03 13:26:52 +00:00
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-all.h cpus: Pass CPUState to run_on_cpu() 2012-10-31 04:12:23 +01:00
cpu-common.h exec: make some functions static 2012-11-01 19:49:45 +01:00
cpu-defs.h cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
cpu-exec.c cpus: Pass CPUState to [qemu_]cpu_has_work() 2012-10-31 04:11:37 +01:00
cpus.c cpu: Move thread_id to CPUState 2012-10-31 04:12:23 +01:00
cpus.h
cputlb.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cputlb.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c fdsets: use weak aliases instead of qemu-tool.c/qemu-user.c 2012-10-30 09:18:44 +01:00
def-helper.h
device_tree.c
device_tree.h
dis-asm.h
disas.c disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
disas.h disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
dma-helpers.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dma.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dump-stub.c
dump.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
dump.h
elf.h
envlist.c
envlist.h
error.c error: add error_set_errno and error_setg_errno 2012-10-23 13:54:55 +02:00
error.h error: add error_set_errno and error_setg_errno 2012-10-23 13:54:55 +02:00
event_notifier-posix.c event_notifier: enable it to use pipes 2012-10-30 09:30:52 +01:00
event_notifier-win32.c event_notifier: add Win32 implementation 2012-10-30 09:30:52 +01:00
event_notifier.h event_notifier: enable it to use pipes 2012-10-30 09:30:52 +01:00
exec-all.h tcg/ppc32: Use trampolines to trim the code size for mmu slow path accessors 2012-11-06 04:37:57 +04:00
exec-memory.h
exec.c Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-11-03 12:55:05 +00:00
gdbstub.c
gdbstub.h
gen-icount.h
hmp-commands.hx qmp: add drive-mirror command 2012-10-24 10:26:20 +02:00
hmp.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
hmp.h qmp: add drive-mirror command 2012-10-24 10:26:20 +02:00
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
hwaddr.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c
int128.h
iohandler.c aio: introduce AioContext, move bottom halves there 2012-10-30 09:30:53 +01:00
ioport.c
ioport.h
iorange.h
iov.c Merge remote-tracking branch 'origin/master' into threadpool 2012-10-31 10:42:51 +01:00
iov.h iov: add iov_cpy 2012-10-29 18:25:22 +02:00
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c cpus: Pass CPUState to run_on_cpu() 2012-10-31 04:12:23 +01:00
kvm-stub.c
kvm.h i386: kvm: filter CPUID feature words earlier, on cpu.c 2012-10-30 23:39:49 -02:00
libfdt_env.h
lm32-dis.c
m68k-dis.c
m68k.ld
main-loop.c vl: delay thread initialization after daemonization 2012-11-02 13:07:55 -05:00
main-loop.h main-loop: use GSource to poll AIO file descriptors 2012-10-30 09:30:53 +01:00
memory-internal.h exec: make some functions static 2012-11-01 19:49:45 +01:00
memory.c memory: Don't dump disabled regions 2012-11-10 13:24:39 +00:00
memory.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory_mapping-stub.c
memory_mapping.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
memory_mapping.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
microblaze-dis.c
migration-exec.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration-fd.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration-tcp.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration-unix.c migration: move qemu_fclose to process_incoming_migration 2012-11-02 18:35:07 +01:00
migration.c migration: move process_incoming_migration to a coroutine 2012-11-02 18:35:08 +01:00
migration.h migration (incoming): add error propagation to fd and exec protocols 2012-10-23 13:54:56 +02:00
mips-dis.c
mips.ld
module.c
module.h
monitor.c target-i386: Pass X86CPU to cpu_x86_inject_mce() 2012-10-31 04:12:23 +01:00
monitor.h block: introduce BLOCK_JOB_READY event 2012-10-24 10:26:19 +02:00
nbd.c nbd: ask and print error information from qemu-sockets 2012-10-23 13:54:56 +02:00
nbd.h
net.c net: Reject non-netdevs in qmp_netdev_del() 2012-11-01 11:05:57 +01:00
net.h
notify.c
notify.h
os-posix.c
os-win32.c
osdep.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
osdep.h win32: fix broken build due to missing QEMU_MADV_HUGEPAGE 2012-10-24 15:01:45 -05:00
oslib-posix.c aio: clean up now-unused functions 2012-10-30 09:30:54 +01:00
oslib-win32.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
page_cache.c
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
ppc-dis.c
ppc.ld
ppc64.ld
qapi-schema-guest.json
qapi-schema-test.json
qapi-schema.json Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h aio: clean up now-unused functions 2012-10-30 09:30:54 +01:00
qemu-barrier.h
qemu-bridge-helper.c
qemu-char.c chardev: Use timer instead of bottom-half to postpone open event 2012-10-31 22:20:44 +01:00
qemu-char.h Merge remote-tracking branch 'bonzini/threadpool' into staging 2012-11-01 11:13:39 -05:00
qemu-common.h Merge remote-tracking branch 'kraxel/pixman.v3' into staging 2012-11-01 11:14:39 -05:00
qemu-config.c Issue warning when deprecated drive parameter boot=on|off is used 2012-10-30 23:39:52 -02:00
qemu-config.h
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c aio: introduce AioContext, move bottom halves there 2012-10-30 09:30:53 +01:00
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi iscsi: Pick default initiator-name based on the name of the VM 2012-08-09 15:04:09 +02:00
qemu-error.c
qemu-error.h
qemu-file.h migration: replace qemu_stdio_fd with qemu_get_fd 2012-11-02 18:35:06 +01:00
qemu-ga.c
qemu-img-cmds.hx qemu-img: document 'info --backing-chain' 2012-10-24 10:26:19 +02:00
qemu-img.c tools: initialize main loop before block layer 2012-11-06 04:37:57 +04:00
qemu-img.texi qemu-img: document 'info --backing-chain' 2012-10-24 10:26:19 +02:00
qemu-io.c tools: initialize main loop before block layer 2012-11-06 04:37:57 +04:00
qemu-lock.h
qemu-log.c
qemu-log.h disas: avoid using cpu_single_env 2012-11-10 13:49:20 +00:00
qemu-nbd.c
qemu-nbd.texi
qemu-objects.h
qemu-option-internal.h
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx Emulate qemu-kvms -no-kvm option 2012-10-30 23:39:53 -02:00
qemu-os-posix.h
qemu-os-win32.h event_notifier: add Win32 implementation 2012-10-30 09:30:52 +01:00
qemu-pixman.c pixman: helper functions 2012-11-01 14:00:04 +01:00
qemu-pixman.h pixman: helper functions 2012-11-01 14:00:04 +01:00
qemu-progress.c
qemu-queue.h
qemu-seccomp.c
qemu-seccomp.h
qemu-sockets.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
qemu-tech.texi
qemu-thread-posix.c semaphore: implement fallback counting semaphores with mutex+condvar 2012-11-02 13:07:54 -05:00
qemu-thread-posix.h semaphore: implement fallback counting semaphores with mutex+condvar 2012-11-02 13:07:54 -05:00
qemu-thread-win32.c qemu-thread: add QemuSemaphore 2012-10-31 09:45:47 +01:00
qemu-thread-win32.h qemu-thread: add QemuSemaphore 2012-10-31 09:45:47 +01:00
qemu-thread.h qemu-thread: add QemuSemaphore 2012-10-31 09:45:47 +01:00
qemu-timer-common.c
qemu-timer.c qemu-timer: Fix compilation for non-POSIX hosts 2012-11-10 12:28:52 +00:00
qemu-timer.h
qemu-tls.h
qemu-tool.c qemu-tool: do not depend on qemu-timer.c 2012-10-30 09:18:44 +01:00
qemu-user.c fdsets: use weak aliases instead of qemu-tool.c/qemu-user.c 2012-10-30 09:18:44 +01:00
qemu-x509.h
qemu-xattr.h
qemu.sasl
qemu_socket.h qemu-sockets: add socket_listen, socket_connect, socket_parse 2012-10-23 22:39:16 +02:00
qerror.c
qerror.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h
qmp-commands.hx Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-10-29 10:34:05 -05:00
qmp.c compiler: support Darwin weak references 2012-11-02 13:07:54 -05:00
qobject.h
qstring.c
qstring.h
qtest.c
qtest.h
range.h
readline.c
readline.h
rules.mak
s390-dis.c
s390.ld
savevm.c migration: handle EAGAIN while reading QEMUFile 2012-11-02 18:35:07 +01:00
sh4-dis.c
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h tcg: Add extended GETPC mechanism for MMU helpers with ldst optimization 2012-11-03 09:44:20 +00:00
sparc-dis.c
sparc.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
sparc64.ld
spice-qemu-char.c
sysemu.h vl.c: add missing static 2012-11-01 19:49:44 +01:00
tcg-runtime.c
tci-dis.c
tci.c
thread-pool.c threadpool: do not take lock in event_notifier_ready 2012-10-31 10:38:01 +01:00
thread-pool.h aio: add generic thread-pool facility 2012-10-31 10:37:48 +01:00
thunk.c
thunk.h
trace-events Merge remote-tracking branch 'kraxel/usb.69' into staging 2012-11-01 14:34:13 -05:00
translate-all.c
uboot_image.h
uri.c
uri.h
user-exec.c
version.rc
vgafont.h
vl.c Merge branch 'trivial-patches' of git://github.com/stefanha/qemu 2012-11-03 12:55:05 +00:00
vmstate.h vmstate: Add support for saving/loading bitmaps 2012-10-30 07:45:12 +00:00
x86_64.ld
xen-all.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-mapcache.c Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-mapcache.h Rename target_phys_addr_t to hwaddr 2012-10-23 08:58:25 -05:00
xen-stub.c

README

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

- QEMU team