qemu-e2k/tests
Paolo Bonzini ae79c2db15 ahci: fix FIS I bit and PIO Setup FIS interrupt
The "I" bit in PIO Setup and D2H FISes is exclusively a device concept
and the irqstatus register in the controller does not matter.  The SATA
spec says when it should be one; for D2H FISes in practice it is always
set, while the PIO Setup FIS has several subcases that are documented in
the patch.

Also, the PIO Setup FIS interrupt is actually generated _after_ data
has been received.

Someone should probably spend some time reading the SATA specification and
figuring out the more obscure fields in the PIO Setup FIS, but this is enough
to fix SeaBIOS booting from ATAPI CD-ROMs over an AHCI controller.

Fixes: 956556e131
Reported-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-id: 20180622165159.19863-1-pbonzini@redhat.com
[Minor edit to avoid ATAPI comment ambiguity. --js]
Signed-off-by: John Snow <jsnow@redhat.com>
2018-06-25 16:50:48 -04:00
..
acceptance Acceptance tests: add Linux kernel boot and console checking test 2018-06-15 16:10:11 -03:00
acpi-test-data hw/i386: Update SSDT table used by "make check" 2018-06-11 22:19:57 +03:00
data
decode
docker tests/docker/Makefile.include: only force SID to NOCACHE if old 2018-06-20 22:13:39 +01:00
guest-debug python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
image-fuzzer python: futurize -f lib2to3.fixes.fix_renames 2018-06-08 14:39:24 -03:00
keys
libqos ahci: fix FIS I bit and PIO Setup FIS interrupt 2018-06-25 16:50:48 -04:00
migration python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
multiboot
qapi-schema qapi: allow empty branches in flat unions 2018-06-22 16:33:46 +02:00
qemu-iotests iotests: Add test for active mirroring 2018-06-18 17:05:17 +02:00
rocker
tcg tests: add top-level make dependency for docker builds 2018-06-20 22:13:32 +01:00
vm python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
vmstate-static-checker-data
.gitignore tests: Simplify .gitignore 2018-06-21 09:21:19 -05:00
ac97-test.c
acpi-utils.c
acpi-utils.h
ahci-test.c block: Remove deprecated -drive option serial 2018-06-15 14:49:44 +02:00
atomic_add-bench.c
benchmark-crypto-cipher.c
benchmark-crypto-hash.c
benchmark-crypto-hmac.c
bios-tables-test.c nvdimm: make persistence option symbolic 2018-06-11 22:19:57 +03:00
boot-order-test.c
boot-sector.c tests/boot-sector: Add magic bytes to s390x boot code header 2018-06-08 13:17:39 -04:00
boot-sector.h
boot-serial-test.c
cdrom-test.c tests/cdrom-test: Test that -cdrom parameter is working 2018-06-08 13:17:39 -04:00
check-block-qdict.c tests: Add QDict clone-flatten test 2018-06-22 16:33:46 +02:00
check-block.sh
check-qdict.c qobject: Move block-specific qdict code to block-qdict.c 2018-06-15 14:49:44 +02:00
check-qjson.c
check-qlist.c
check-qlit.c
check-qnull.c
check-qnum.c
check-qobject.c block: Add block-specific QDict header 2018-06-15 14:49:44 +02:00
check-qom-interface.c
check-qom-proplist.c
check-qstring.c
cpu-plug-test.c
crypto-tls-x509-helpers.c
crypto-tls-x509-helpers.h
device-introspect-test.c
display-vga-test.c
drive_del-test.c
ds1338-test.c
e1000-test.c
e1000e-test.c
eepro100-test.c
endianness-test.c
es1370-test.c
fdc-test.c
fw_cfg-test.c
hd-geo-test.c block: Remove deprecated -drive geometry options 2018-06-15 14:49:44 +02:00
i440fx-test.c
i82801b11-test.c
ide-test.c block: Remove deprecated -drive option serial 2018-06-15 14:49:44 +02:00
intel-hda-test.c
io-channel-helpers.c
io-channel-helpers.h
ioh3420-test.c
iothread.c
iothread.h
ipmi-bt-test.c
ipmi-kcs-test.c
ipoctal232-test.c
ivshmem-test.c
libqtest.c acpi, vhost, misc: fixes, features 2018-06-04 10:15:16 +01:00
libqtest.h tests: functional tests for QMP command set-numa-node 2018-05-30 13:19:14 -03:00
m25p80-test.c
m48t59-test.c Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
machine-none-test.c
Makefile.include Revert commit d4e5ec877c 2018-06-22 16:33:47 +02:00
megasas-test.c
migration-test.c tests: Migration ppc now inlines its program 2018-05-15 20:24:27 +02:00
ne2000-test.c
numa-test.c tests: functional tests for QMP command set-numa-node 2018-05-30 13:19:14 -03:00
nvme-test.c
pca9552-test.c misc: add pca9552 LED blinker model 2018-06-08 13:15:32 +01:00
pcnet-test.c
pkix_asn1_tab.c
pnv-xscom-test.c
prom-env-test.c
ptimer-test-stubs.c
ptimer-test.c
ptimer-test.h
pvpanic-test.c
pxe-test.c
q35-test.c
qemu-iotests-quick.sh
qht-bench.c qht: return existing entry when qht_insert fails 2018-06-15 07:42:55 -10:00
qmp-test.c tests: functional tests for QMP command set-numa-node 2018-05-30 13:19:14 -03:00
qom-test.c
rcutorture.c
rtas-test.c
rtc-test.c
rtl8139-test.c
sdhci-test.c
socket-helpers.c
socket-helpers.h
spapr-phb-test.c
tco-test.c
test-aio-multithread.c
test-aio.c
test-arm-mptimer.c
test-base64.c
test-bdrv-drain.c test-bdrv-drain: Test graph changes in drain_all section 2018-06-18 15:03:25 +02:00
test-bitcnt.c
test-bitops.c
test-block-backend.c
test-blockjob-txn.c job: Add error message for failing jobs 2018-05-30 13:31:01 +02:00
test-blockjob.c job: Add error message for failing jobs 2018-05-30 13:31:01 +02:00
test-bufferiszero.c
test-char.c mux: fix ctrl-a b again 2018-06-01 15:13:46 +02:00
test-clone-visitor.c
test-coroutine.c
test-crypto-afsplit.c
test-crypto-block.c
test-crypto-cipher.c
test-crypto-hash.c
test-crypto-hmac.c
test-crypto-ivgen.c
test-crypto-pbkdf.c
test-crypto-secret.c
test-crypto-tlscredsx509.c
test-crypto-tlssession.c
test-crypto-xts.c
test-cutils.c
test-filter-mirror.c
test-filter-redirector.c
test-hbitmap.c test-hbitmap: Add non-advancing iter_next tests 2018-06-18 17:04:56 +02:00
test-hmp.c
test-int128.c
test-io-channel-buffer.c
test-io-channel-command.c
test-io-channel-file.c
test-io-channel-socket.c
test-io-channel-tls.c
test-io-task.c
test-iov.c
test-keyval.c
test-logging.c
test-mul64.c
test-netfilter.c
test-opts-visitor.c
test-qapi-util.c
test-qdev-global-props.c
test-qdist.c
test-qemu-opts.c
test-qga.c
test-qht-par.c
test-qht.c qht: return existing entry when qht_insert fails 2018-06-15 07:42:55 -10:00
test-qmp-cmds.c tests: qapi-schema tests for allow-preconfig 2018-05-30 13:19:14 -03:00
test-qmp-event.c
test-qobject-input-visitor.c
test-qobject-output-visitor.c
test-rcu-list.c
test-replication.c block: Add block-specific QDict header 2018-06-15 14:49:44 +02:00
test-shift128.c
test-string-input-visitor.c
test-string-output-visitor.c
test-thread-pool.c Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
test-throttle.c
test-timed-average.c
test-util-sockets.c
test-uuid.c
test-visitor-serialization.c
test-vmstate.c
test-write-threshold.c
test-x86-cpuid-compat.c
test-x86-cpuid.c
test-xbzrle.c
tmp105-test.c misc: add pca9552 LED blinker model 2018-06-08 13:15:32 +01:00
tpci200-test.c
tpm-crb-swtpm-test.c test: Pass TPM interface model to functions creating command line 2018-06-06 15:44:07 -04:00
tpm-crb-test.c
tpm-emu.c tests: fix tpm-crb tpm-tis tests race 2018-05-20 08:38:38 +03:00
tpm-emu.h
tpm-tests.c test: Pass TPM interface model to functions creating command line 2018-06-06 15:44:07 -04:00
tpm-tests.h test: Pass TPM interface model to functions creating command line 2018-06-06 15:44:07 -04:00
tpm-tis-swtpm-test.c test: Add swtpm migration test for the TPM TIS interface 2018-06-06 15:44:12 -04:00
tpm-tis-test.c
tpm-util.c test: Add swtpm migration test for the TPM TIS interface 2018-06-06 15:44:12 -04:00
tpm-util.h test: Add swtpm migration test for the TPM TIS interface 2018-06-06 15:44:12 -04:00
usb-hcd-ehci-test.c
usb-hcd-ohci-test.c
usb-hcd-uhci-test.c
usb-hcd-xhci-test.c usb-hcd-xhci-test: add a test for ccid hotplug 2018-06-12 12:07:30 +02:00
vhost-user-bridge.c vhost-user-bridge: support host notifier 2018-05-24 21:14:11 +03:00
vhost-user-test.c
virtio-9p-test.c
virtio-balloon-test.c
virtio-blk-test.c
virtio-console-test.c
virtio-net-test.c
virtio-rng-test.c
virtio-scsi-test.c
virtio-serial-test.c
vmgenid-test.c
vmxnet3-test.c
wdt_ib700-test.c