Re: Porting Linux to a new architecture

Linus Torvalds (torvalds@cs.helsinki.fi)
Sun, 24 Mar 1996 11:37:52 +0200 (EET)


On Sun, 24 Mar 1996, Michael Hohmuth wrote:
>
> Our research group is currently considering porting the Linux kernel
> to a new architecture, and we're about to document the architecture-
> specific interfaces an architecture support is supposed to implement.
>
> Questions:
>
> - I suppose developers who have ported the Linux kernel to other
> architectures before have been going through this stage, too. Is
> there any help on this subject available, e.g. docs, or (easily-
> understandable) source code that can serve as a model for porting?
>
> (I already know about the kernel hacker's guide and where to find
> ports to other architectures.)

I don't think any documentation exists, but the best porting model to use
is probably to read the header files in include/asm-xxx/, because those
cover the differences reasonably well. Also, just look at one of the
other architecture arch/xxx/kernel and arch/xxx/mm subdirectories.

Oh, and don't look at the x86 stuff too closely: it has more historical
cruft than most of the others. The alpha version is probably one of the
cleaner ones (and I'm not saying this because I wrote it, but because
unlike the sparc, for example, there is not a lot of difference between
alpha chips).

> - Is there any good reason not to start with linux-1.2.13?

Yes. Essentially, all the portability cleanups had not been done by the
1.2.x kernels, and lots of things have changed since then when it comes
to portability.

I'd suggest taking one of the very latest 1.3.x kernels, and starting
with that. It will make your life _much_ easier later on when you try to
re-integrate the stuff back (based on current patterns, the arch-specific
stuff no longer changes very rapidly, and you're likely to be able to
more-or-less directly integrate any of my patches without worrying about
them clashing with your arch-dependent stuff).

Linus