From: hohm...@inf.tu-dresden.de (Michael Hohmuth)
Subject: Porting Linux to a new architecture
Date: 1996/03/24
Message-ID: <199603232334.AAA24147@irs.inf.tu-dresden.de>#1/1
X-Deja-AN: 143879666
sender: owner-linux-ker...@vger.rutgers.edu
content-type: text/plain; charset=US-ASCII
x-hdr-sender: hohm...@inf.tu-dresden.de
organization: Dept. of Computer Science, TU Dresden, Germany
mime-version: 1.0
x-env-sender: owner-linux-kernel-outgo...@vger.rutgers.edu
newsgroups: linux.dev.kernel
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.)
- Is there any good reason not to start with linux-1.2.13?
- Any helpful hints or tricks?
Any help appreciated!
Thanks in advance,
Michael
--
Email: hohm...@inf.tu-dresden.de
WWW: http://www.inf.tu-dresden.de/~mh1/
From: "David S. Miller" <da...@caip.rutgers.edu>
Subject: Re: Porting Linux to a new architecture
Date: 1996/03/24
Message-ID: <199603241707.MAA08862@huahaga.rutgers.edu>#1/1
X-Deja-AN: 144036782
sender: owner-linux-ker...@vger.rutgers.edu
x-hdr-sender: da...@caip.rutgers.edu
references: <199603232334.AAA24147@irs.inf.tu-dresden.de>
x-env-sender: owner-linux-kernel-outgo...@vger.rutgers.edu
newsgroups: linux.dev.kernel
Date: Sun, 24 Mar 1996 00:34:47 +0100 (MET)
- 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.)
The only way out of "this stage" is to sit and stare at the code for a
couple weeks. You are cheating yourself and will be in for a lot of
trouble if you rely on a documentation of the kernel itself to write
code to plug into it. This especially goes for new architecture
support, there are many interdependancies or weird quirks that you
just "have to experience" in the Linux kernel.
I'm biases as I'm against any attempt to document a moving target like
the Linux kernel.
- Is there any good reason not to start with linux-1.2.13?
Yep, many reasons. Many new and useful architecture dependant
interfaces and hooks are available in the latest kernels. Also,
starting with 1.2.13 will make it more difficult for maintainers of
major subsystems to help you out with your port, stay synced with
Linus's latest snapshots, this is how I did it and it saved me lots of
headaches.
- Any helpful hints or tricks?
Stare at the code for many hours and you won't need any ;-)
Later,
David S. Miller
da...@caip.rutgers.edu
From: Linus Torvalds <torva...@cs.helsinki.fi>
Subject: Re: Porting Linux to a new architecture
Date: 1996/03/24
Message-ID: <Pine.LNX.3.91.960324113135.7156C-100000@linux.cs.Helsinki.FI>#1/1
X-Deja-AN: 144040112
sender: owner-linux-ker...@vger.rutgers.edu
references: <199603232334.AAA24147@irs.inf.tu-dresden.de>
content-type: TEXT/PLAIN; charset=US-ASCII
x-hdr-sender: torva...@cs.helsinki.fi
mime-version: 1.0
x-env-sender: owner-linux-kernel-outgo...@vger.rutgers.edu
newsgroups: linux.dev.kernel
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
From: miqu...@drinkel.ow.org (Miquel van Smoorenburg)
Subject: Re: Porting Linux to a new architecture
Date: 1996/03/24
Message-ID: <9603241565.142802@drinkel.ow.org>#1/1
X-Deja-AN: 144048951
references: <199603232334.AAA24147@irs.inf.tu-dresden.de>
x-submitted-via: n...@ratatosk.yggdrasil.com (linux.* gateway)
x-hdr-sender: miqu...@drinkel.ow.org
organization: Alcohol Diseases R&D
x-news-software: W-NEWS Release 4.53 for Debian
x-env-sender: miqu...@drinkel.ow.org
newsgroups: linux.dev.kernel
In article <199603232334.AAA24...@irs.inf.tu-dresden.de>,
Michael Hohmuth <hohm...@inf.tu-dresden.de> 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.
>
>- Is there any good reason not to start with linux-1.2.13?
Well, I can at least answer this one: the latest Linux kernels
have support for lots of different architectures, alpha, i386,
mips, powerpc, and sparc. The seperation between processor/machine
dependant and indepenant parts is much better than in 1.2.13.
So I think it would be easier to start with the latest Linux kernels.
Besides, we'll soon see 1.4 and 2.0 and then nobody will use 1.2.13
anymore and you'll be basing your work on obsolete code.
Mike.
--
+ Miquel van Smoorenburg + Cistron Internet Services + Living is a |
| miqu...@cistron.nl (SP6) | Independent Dutch ISP | horizontal |
+ miqu...@drinkel.ow.org + http://www.cistron.nl/ + fall +
From: Alan Cox <a...@cymru.net>
Subject: Re: Porting Linux to a new architecture
Date: 1996/03/25
Message-ID: <199603250902.JAA27168@snowcrash.cymru.net>#1/1
X-Deja-AN: 144060670
references: <9603241565.142802@drinkel.ow.org>
x-submitted-via: n...@ratatosk.yggdrasil.com (linux.* gateway)
content-type: text/plain; charset=US-ASCII
x-hdr-sender: a...@cymru.net
mime-version: 1.0
x-env-sender: a...@snowcrash.cymru.net
newsgroups: linux.dev.kernel
> mips, powerpc, and sparc. The seperation between processor/machine
> dependant and indepenant parts is much better than in 1.2.13.
Yes. There are still some glaring things that show up when you try and
port bits to a 16bit int architecture (like block numbers being int) but
on the whole its pretty code chunks (I'm currently porting the kernel to
the 8086, and quite big chunks of code like most of the yggdrasil bios disk
driver go straight over with tiny fixes).
Alan
|