l arch/m68k/――到Motorola的680x0 CPU系列的移植。该版本可以提供对基于从68020(只要它同内存管理单元(MMU)68851一起使用)到68060的一切机器的支持。很多公司在他们的产品中使用680x0系列芯片,例如Commodore(现在是Gateway)的Amiga,Apple的Macintosh,Atari ST,等等。这些老机器中的很多现在正充当可靠的Linux工作站。另外,到NeXT工作站和SUN 3工作站的移植也正在进行中。
l arch/mips/――到MIPS的CPU系列的移植。虽然有其它几个厂商也使用MIPS开发了一些系统,但是基于这种CPU的最出名的机器是Silicon Graphics(SGI)工作站。
l arch/ppc/――到Motorola/IBM的PowerPC系列CPU的移植。这包括对基于PowerPC的Macintosh和Amiga以及BeBox、IBM的RS/6000等其它一些机器的支持。
l arch/sparc/――到32位SPARC CPU的移植。这包括对从Sun SPARC 1到SPARC 20的全部支持。
l arch/sparc64/——到基于64位SPARC CPU(UltraSPARC系)系统的移植。这里所能够支持的机器包括Sun的Ultra 1,Ultra 2和更高配置的机器,直到Sun的最新产品Enterprise 10000。注意32位和64位的SPARC的移植版本正在合并中。
include
这个目录包含了Linux源程序树中大部分的包含(.h)文件。这些文件按照下面的子目录进行分组:
l include/asm-*/――这样的子目录有多个,每一个都对应着一个arch的子目录,例如include/asm-alpha,include/asm-arm,include/asm-i386等等。每个目录下的文件中包含了支持给定体系结构所必须的预处理器宏和短小的内联函数。这些内联函数很多都是全部或部分地使用汇编语言实现的,而且在C或者汇编代码中都会应用到这些文件。
l include/linux/――内核和用户应用程序请求特定内核服务时所使用的常量和数据结构在头文件中定义,而该目录中就包含了这些头文件。这些文件大都是平台独立的。这个目录被全部复制(更多的情况是链接)到/usr/inlude/linux下。这样用户应用程序就可以使用#include包含这些头文件,而且能够保证所包含进来的头文件的内容和内核中的定义一致。第9章将会给出有关的一个样例。
l 对这些文件的移植只有对于内核来说才是必须的,对用户应用程序则没有必要。移植工作可以按照如下的方式封装处理: