On Fri, Jun 3, 2011 at 09:04, Greg Ungerer <[email protected]> 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 -- [email protected] 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
