Re: AmigaOne 2.6.x Linux kernel port
A few more comments I forgot to make earlier -
On Wed, 30 Nov 2005, Gerhard Pircher wrote:
I tried to change the code
to handle the AmigaOne platform as a non cache coherent architecture and to
do all necessary cache flushes in software. AFAIK also the developers of
AmigaOS4 have worked around the bugs of the ArticiaS in this way. Well,
first it seemed that I had succeeded and Linux was working correctly with
DMA (tested it by calculating the checksum of a 700MB ISO file and with DMA
activated for the IDE drives), but after porting my patches from kernel
2.6.12.6 to 2.6.14.2 it became apparent that the patches don't work
correctly yet (but better as the other attempts ;-). Also the kernel
reported a lot of "lost interrupts" messages and errors about expired "DMA
timers".
The problem, as BenH pointed out, is that the main ppc code assumes
cache coherency for these CPUs - unlike some of the embedded processors.
I never got it to work reliably after Bart rewrote some of the ide code
in circa 2.6.10, but the errors sound familiar - been there, still got
the scars :)
I included all relevant patches for the AmigaOne below. My patches are for
"include/asm-ppc/dma-mapping.h" and
"arch/ppc/kernel/amigaone_dma-mapping.c". The other patches were either made
by some OS4 developers (Ross Vumbaca) or Ken Moffat (ported the patches to
2.6.x). If somebody wants to take a look at all the patches for the 2.6.x
kernel, just write me.
My attempts to port this should still be somewhere at
http://www.ntlworld.com/zarniwhoop/ if anybody cares - bear in mind that
I never exposed these for comment in "the proper place" (ppc-dev)
because I was still trying to track down why my machine would lock up
while trying to build a new toolchain (gcc-3.4 in those days) - the
problem turned out to be inadequate cooling, which eventually destroyed
my cpu or mobo - so apart from me, nobody here has seen these patches,
but I'm willing to comment on what I did, to the extent that I can
remember.
The authorship of the original 2.4 patches is vague - I think Ross told
me that his work was mostly admin (apart from the floppy code), most of
it seems to have come from the Friedens or Bill Mueller, although
clearly based on other 2.4 ppc code.
Ken
--
das eine Mal als Tragödie, das andere Mal als Farce
Reply to: