Import 2.1.119pre1
[davej-history.git] / Documentation / ARM-README
blobbf8225c49ae9dcaccffa0d4f84f31c2f536ea0a1
1                            ARM Linux 2.1.99
2                            ================
4   Since this is a development kernel, it will not be as stable as the 2.0
5   series, and can cause very nasty problems (eg, trashing your hard disk).
6   When running one of these kernels, I advise you to back up the complete
7   contents of all your hard disks.
10 Contributors
11 ------------
13   Here is a list of people actively working on the project (If you
14   wish to be added to the list, please email me):
16   Name: Russell King
17   Mail: linux@arm.uk.linux.org
18   Desc: Original developer of ARM Linux, project co-ordinator.
20   Name: Dave Gilbert
21   Mail: linux@treblig.org
22   Desc: A3/4/5xx floppy and hard disk code maintainer.
24   Name: Philip Blundell
25   Mail: Philip.Blundell@pobox.com
26   Desc: Architecture and processor selection during make config.
29 Todo list
30 ---------
32   This is the list of changes to be done (roughly prioritised):
34   * fully test new MEMC translation code
35   * fully test new AcornSCSI driver.
36   * reply to email ;)
39                              Notes
40                              =====
42 Compilation of kernel
43 ---------------------
45   In order to compile ARM Linux, you will need a compiler capable of
46   generating ARM ELF code with GNU extensions.  GCC-2.7.2.2 is good.
48   To build ARM Linux natively, you shouldn't have to alter the ARCH = line in
49   the top level Makefile.  However, if you don't have the ARM Linux ELF tools
50   installed as default, then you should change the CROSS_COMPILE line as
51   detailed below.
53   If you wish to cross-compile, then alter the following lines in the top
54   level make file:
56     ARCH = <whatever>
57         with
58     ARCH = arm
60         and
62     CROSS_COMPILE=
63         to
64     CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
65         eg.
66     CROSS_COMPILE=/usr/bin/arm-unknown-linuxelf-
68   Do a 'make config', followed by 'make dep', and finally 'make all' to
69   build the kernel (vmlinux).  A compressed image can be built by doing
70   a 'make zImage' instead of 'make all'.
73 Bug reports etc
74 ---------------
76   Please send patches, bug reports and code for the ARM Linux project
77   to linux@arm.uk.linux.org.  Patches will not be included into future
78   kernels unless they come to me (or the relevant person concerned).
80   When sending bug reports, please ensure that they contain all relevant
81   information, eg. the kernel messages that were printed before/during
82   the problem, what you were doing, etc.
84   For patches, please include some explanation as to what the patch does
85   and why (if relevant).
88 Modules
89 -------
91   Although modularisation is supported (and required for the FP emulator),
92   each module on an arm2/arm250/arm3 machine when is loaded will take
93   memory up to the next 32k boundary due to the size of the pages.  Hence is
94   modularisation on these machines really worth it?
96   However, arm6 and up machines allow modules to take multiples of 4k, and
97   as such Acorn RiscPCs and other architectures using these processors can
98   make good use of modularisation.
101 ADFS Image files
102 ----------------
104   You can access image files on your ADFS partitions by mounting the ADFS
105   partition, and then using the loopback device driver.  You must have
106   losetup installed.
108   Please note that the PCEmulator DOS partitions have a partition table at
109   the start, and as such, you will have to give '-o offset' to losetup.
112 Kernel initialisation abort codes
113 ---------------------------------
115   When the kernel is unable to boot, it will if possible display a colour
116   at the top of the screen.  The colours have the following significance
117   when run in a 16 colour mode with the default palette:
119     Stripes of White,Red,Yellow,Green:
120        Kernel does not support the processor architecture detected.
123 Request to developers
124 ---------------------
126   When writing device drivers which include a separate assembler file, please
127   include it in with the C file, and not the arch/arm/lib directory.  This
128   allows the driver to be compiled as a loadable module without requiring
129   half the code to be compiled into the kernel image.
131   In general, try to avoid using assembler unless it is really necessary.  It
132   makes drivers far less easy to port to other hardware.
135 ST506 hard drives
136 -----------------
138   The ST506 hard drive controllers seem to be working fine (if a little
139   slowly).  At the moment they will only work off the controllers on an
140   A4x0's motherboard, but for it to work off a Podule just requires
141   someone with a podule to add the addresses for the IRQ mask and the
142   HDC base to the source.
144   As of 31/3/96 it works with two drives (you should get the ADFS
145   *configure harddrive set to 2). I've got an internal 20MB and a great
146   big external 5.25" FH 64MB drive (who could ever want more :-) ).
148   I've just got 240K/s off it (a dd with bs=128k); thats about half of what
149   RiscOS gets; but it's a heck of a lot better than the 50K/s I was getting
150   last week :-)
152   Known bug: Drive data errors can cause a hang; including cases where
153   the controller has fixed the error using ECC. (Possibly ONLY
154   in that case...hmm).
157 1772 Floppy
158 -----------
159   This also seems to work OK, but hasn't been stressed much lately.  It
160   hasn't got any code for disc change detection in there at the moment which
161   could be a bit of a problem!  Suggestions on the correct way to do this
162   are welcome.
165 Kernel entry (head-armv.S)
166 --------------------------
167   The initial entry into the kernel made via head-armv.S uses architecture
168   independent code.  The architecture is selected by the value of 'r1' on
169   entry, which must be kept unique.  You can register a new architecture
170   by mailing the following details to rmk@arm.uk.linux.org.  Please give
171   the mail a subject of 'Register new architecture':
173     Name: <name of your architecture>
174     ARCHDIR: <name of include/asm-arm/arch-* directory>
175     Description:
176     <description of your architecture>
178   Please follow this format - it is an automated system.  You should
179   receive a reply the next day.
181 Russell King (03/05/1998)