Re: Support for MMU-less Atari ST

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 3, 2011 at 09:04, Greg Ungerer <gerg@xxxxxxxxxxxx> wrote:
On 03/06/11 05:25, Matthias Reis wrote:
since the m68k and the m68knommu trees have now been merged, I wonder if
it is possible to run linux on mmu-less 68000 machines like the (original)
Atari ST. I think the first thing to do would be to modify
arch/m68k/kernel/head.S in order to handle non-mmu CPUs. I would be happy to
do some work on this but the problem is that I'm not very familiar with the
kernel so far. It would be nice if someone could tell me which things need
to be done to run linux on a mmu-less Atari ST. I'm not expecting detailed
step-by-step instructions, but rather some hints where the MMU- or
68020-dependent stuff in the Atari drivers lies.

I worked on getting uClinux running on MMUless Amiga (read: UAE) in
the 2.6.8.1 era.
I got it more or less into booting userspace:
http://www.kernel.org/pub/linux/kernel/people/geert/uClinux-amiga-2.6.x-merging/

Recently, I tried forward porting this to 2.6.39 in the (idle) hope
converting the Amiga
code to genirq would be easier while debugging on UAE than on real hardware.
However, it's not as far yet as the work on 2.6.8.1, but since you're
interested in
it, I'll push it out later today.

W.r.t. drivers, they are the easy part, and should work without any changes.

Although m68k and m68knommu now all live in one arch directory a lot
of the pieces are not really integrated yet. We are working towards
that now.

I haven't looked in arch/m68k/kernel/head.S yet, but if that can
be made to work without enabling the MMU then that seems like a
reasonable start. Currently the non-mmu based targets do not use
that (there is a couple of different head.S files for various
targets/cpus under arch/m68k/platfom/, search for files with "head"
in the name). Ultimately it would be nice to clean all those up.

Above that you may well hit problems trying to get timers and
interrupts working, might not be too hard to sort that out.
Basic device drivers might be ok. Lets see how far you can get :-)

Following up on Greg, indeed a lot is not integrated yet. The main difficulty to
support MMUless operation on the classic Linux/m68k platforms (Amiga, Atari,
Mac, ...) is the different frameworks used by mmu-based platforms and nommu
platforms. I.e. the Amiga and Atari platform code depends a lot on the mmu-based
core framework, in the parts that are not related to the MMU at all.
So for now I ended up still using most of the *_mm.c files, and
sprinkling lots of
#ifdefs for CONFIG_MMU in them. Yes, this includes arch/m68k/kernel/head.S.

Gr{oetje,eeting}s,

            Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
             Â Â -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux