qemu-e2k/hw/ide
Lev Kujawski 758c925ee0 ide_ioport_read: Return lower octet of data register instead of 0xFF
Prior to this patch, the pre-GRUB Solaris x86 bootloader would fail to
load on QEMU with the following screen output:

SunOS Secondary Boot version 3.00

prom_panic: Could not mount filesystem.
Entering boot debugger:
[136419]: _

This occurs because the bootloader issues an ATA IDENTIFY DEVICE
command, and then reads the resulting 256 words of parameter
information using inb rather than the correct inw. As the previous
behavior of QEMU was to return 0xFF and not advance the drive's sector
buffer, DRQ would never be cleared and the bootloader would be blocked
from selecting a secondary ATA device, such as an optical drive.

Resolves:
* [Bug 1639394] Unable to boot Solaris 8/9 x86 under Fedora 24

Signed-off-by: Lev Kujawski <lkujaw@member.fsf.org>
Message-Id: <20220520235200.1138450-1-lkujaw@member.fsf.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-05-25 21:26:35 +02:00
..
Kconfig hw/ide/Kconfig: Add missing dependency PCI -> IDE_QDEV 2021-07-20 15:30:42 +02:00
ahci-allwinner.c ahci: Move QOM macro to header 2020-08-27 14:04:54 -04:00
ahci.c hw/dma: Let dma_buf_read() / dma_buf_write() propagate MemTxResult 2022-01-18 12:56:29 +01:00
ahci_internal.h hw: Do not include hw/sysbus.h if it is not necessary 2021-05-02 17:24:50 +02:00
atapi.c ide: atapi: check logical block address and read size (CVE-2020-29443) 2021-01-23 09:26:40 -05:00
cmd646.c ide: Rename ide_bus_new() to ide_bus_init() 2021-09-30 13:44:13 +01:00
core.c ide_ioport_read: Return lower octet of data register instead of 0xFF 2022-05-25 21:26:35 +02:00
ich.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
ioport.c hw/ide: Fix crash when plugging a piix3-ide device into the x-remote machine 2021-07-19 10:08:45 +02:00
isa.c hw/isa: Inline and remove one-line isa_init_irq() 2022-03-08 19:38:17 +01:00
macio.c ide_ioport_read: Return lower octet of data register instead of 0xFF 2022-05-25 21:26:35 +02:00
meson.build meson: convert hw/ide 2020-08-21 06:30:30 -04:00
microdrive.c ide: Rename ide_bus_new() to ide_bus_init() 2021-09-30 13:44:13 +01:00
mmio.c ide: Rename ide_bus_new() to ide_bus_init() 2021-09-30 13:44:13 +01:00
pci.c ide: rename cmd_write to ctrl_write 2020-10-01 13:04:16 -04:00
piix.c ide: Rename ide_bus_new() to ide_bus_init() 2021-09-30 13:44:13 +01:00
qdev.c ide: Rename ide_bus_new() to ide_bus_init() 2021-09-30 13:44:13 +01:00
sii3112.c ide: Rename ide_bus_new() to ide_bus_init() 2021-09-30 13:44:13 +01:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
via.c via-ide: Avoid using isa_get_irq() 2021-10-18 00:41:36 +02:00