* [Qemu-devel] Wrong IDE endianness
@ 2010-01-28 21:59 Blue Swirl
0 siblings, 0 replies; only message in thread
From: Blue Swirl @ 2010-01-28 21:59 UTC (permalink / raw)
To: Igor Kovalenko; +Cc: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1281 bytes --]
I'm wondering about this part:
cmd64x 0000:00:05.0: 100% native mode on irq 1
ide0: BM-DMA at 0x1fe02000700-0x1fe02000707
ide1: BM-DMA at 0x1fe02000708-0x1fe0200070f
hda: EQUMH RADDSI K, ATA DISK drive
hdc: EQUMD DVR-MO, ATAPI cdrom or floppy?, assuming FLOPPY drive
Why the drive names are swapped?
Currently bytes are swapped at APB/PBM PCI config,
apb_pci_config_readw etc. Actual data goes via pci_apb_iowritew etc
unswapped.
Now, I tried to change this so that instead of just
apb_pci_config_readw, pci_apb_iowritew and friends do swapping
globally for all IO ports. This would require also a few changes to
OpenBIOS, patches attached. But Linux is even less happy:
cmd64x 0000:00:05.0: IDE controller (0x1095:0x0646 rev 0x01)
cmd64x 0000:00:05.0: unable to enable IDE controller
cmd64x 0000:00:05.0: IDE controller (0x1095:0x0646 rev 0x01)
CMD64x_IDE 0000:00:05.0: BAR 0: can't reserve I/O region
[0x1fe02000500-0x1fe02000507]
cmd64x 0000:00:05.0: can't reserve resources
CMD64x_IDE: probe of 0000:00:05.0 failed with error -16
So I don't think this approach is correct either.
It could be possible that individual devices would need byte swaps.
But CMD64x is used successfully also on PPC and the same code is used
for both Sparc64 and PPC OpenBIOS and Linux.
[-- Attachment #2: 0001-Sparc64-change-the-location-of-byte-swapping.patch --]
[-- Type: application/x-patch, Size: 2659 bytes --]
[-- Attachment #3: 0001-QEMU-changed-PCI-IO-port-byte-swapping-adapt-OpenBI.patch --]
[-- Type: application/x-patch, Size: 4363 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-01-28 22:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-28 21:59 [Qemu-devel] Wrong IDE endianness Blue Swirl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).