DMA for legacy devices on laptops

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
partis
Posts: 7
Joined: Thu Mar 26, 2009 4:15 pm
Location: Newcastle, UK
Contact:

DMA for legacy devices on laptops

Post by partis »

Hi all

I have DMA and floppy drivers in my OS which works in Bochs, QEMU, Parallels, MS VM, plus on a number of desktop computers.

However on a couple of laptops, most significantly an old 486SX Toshiba T2100CT, the FDC fails with a TO error (DMA overrun on read accesses).

The DMA controller is initialised from scratch, with no preconception about how the BIOS left it prior to my OS taking control. The specs on this laptop says FDC uses DMA#2 and IRQ#6 - pretty standard.

I guess what I am asking, is if there is a central repositary somewhere containing 'gotchas' for variations of computer hardware implementations.

The same for the A20 enable control - too many non-standard variations! :-(

Thanks in advance,

Gary
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: DMA for legacy devices on laptops

Post by Brynet-Inc »

I'm not aware of any such list, typically the hardware interface is standardized..

There is a local article on the floppy controller here, see this.. and perhaps this.

It could possibly be a timing/delay issue, or perhaps a faulty drive.

As for that laptop, I have here a Toshiba T1910 you can use to test with.. it has 486SX as well, haven't had any issues with the floppy drive that weren't BIOS induced (..has to be reset before it'll read anything, hence most loaders fail without modification).

Would that help?
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
partis
Posts: 7
Joined: Thu Mar 26, 2009 4:15 pm
Location: Newcastle, UK
Contact:

Re: DMA for legacy devices on laptops

Post by partis »

Problem solved - some tim back now!

The DMA controller was not as versatile as I'd like - but I guess many others before myself have found this out...

I was trying to abstract the hardware too much, to handle other DMA controllers and platforms... Doh!
Post Reply