On 24.02.21 22:55, Reinoud Zandijk wrote: > Dear Heinrich, > > On Wed, Feb 24, 2021 at 06:57:08PM +0100, Heinrich Schuchardt wrote: >> On 24.02.21 17:44, Reinoud Zandijk wrote: >>> >>> Fixes IDE issues found on the Malta board under Qemu: >>> >>> 1) DMA implied commands were sent to the controller in stead of the PIO >>> variants. The rest of the code is DMA free and written for PIO operation. >>> >>> 2) direct pointer access was used to read and write the registers instead >>> of the inb/inw/outb/outw functions/macros. Registers don't have to be >>> memory mapped and ATA_CURR_BASE() does not have to return an offset from >>> address zero. >>> >>> 3) Endian isues in ide_ident() and reading/writing data in general. Names >>> were corrupted and sizes misreported. >> >> It is preferable to have each issue fixed in a separate patch. > > They are related; 2 and 3 are really one and 1 could in theory be separate but > it won't work on its own.
Thanks for the background. > >>> Tested malta_defconfig and maltael_defconfig to work again in Qemu. >> >> What about the other architectures which can use the driver? > > As for testing, I compile tested an ARM board, edminiv2, successfully, but > don't know how to invoke qemu for it. As for running the tests, my setup is > not capable of running the tests since they seem to be for linux only. > > Does the automatic testing check if disks are indeed found correctly and > checking reading or writing to a disk image? qemu-x86_64_defconfig and qemu-x86_defconfig have CONFIG_CMD_IDE=y. Actually without your patch qemu-x86 cannot read the partition table from an IDE device. With your patch it works fine. This was my QEMU command: qemu-system-i386 -bios u-boot.rom -nographic sct-i386.img Tested-by: Heinrich Schuchardt <[email protected]>

