How may i see 2-3 pages of low-level “driver” source code such as for IDE device or of the source code what uses DMA.
Why this question?
I was using LINUX two month in real work - but the periodical FAT32 crashes was occured. I was see IDE low-level source code - those crashes MUST exist. LINUX using was canceled. I think that it may work only occasionally in some computers.
I was looking many “alternative” systems - only Haiku (and Linux:) lives more than 30 minutes on all my “big” computers.
The IDE bus support in Haiku is splitted into two parts :
- An abstract bus “manager” layer
- An actual bus controler layer, which does the IO, DMA included.
The source code of Haiku’s IDE bus manager is there:
http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/bus_managers/ide
The source code of Haiku’s IDE bus controlers are located below there:
http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/busses/ide
Thank you for references!
I has got the full information.
The abstract layer is not so abstract; and the physical layer is not separated correctly. This is the same as in the Linux kernel.
Some euristics (typically: timeouts) used.
Must not work properly in any PC-like architecture.