Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
bd824b9f
Commit
bd824b9f
authored
Jul 06, 2003
by
Ian Molton
Committed by
Steve French
Jul 06, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] ARM26 architecture update
parent
d62f5562
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
105 additions
and
924 deletions
+105
-924
MAINTAINERS
MAINTAINERS
+15
-0
arch/arm26/Config.help
arch/arm26/Config.help
+0
-387
arch/arm26/Kconfig
arch/arm26/Kconfig
+12
-144
arch/arm26/config.in
arch/arm26/config.in
+0
-151
arch/arm26/kernel/Makefile
arch/arm26/kernel/Makefile
+1
-1
arch/arm26/kernel/arch.c
arch/arm26/kernel/arch.c
+0
-30
arch/arm26/kernel/asm-offsets.c
arch/arm26/kernel/asm-offsets.c
+1
-1
arch/arm26/kernel/compat.c
arch/arm26/kernel/compat.c
+1
-1
arch/arm26/kernel/dma.c
arch/arm26/kernel/dma.c
+1
-1
arch/arm26/kernel/ecard.c
arch/arm26/kernel/ecard.c
+7
-13
arch/arm26/kernel/irq.c
arch/arm26/kernel/irq.c
+3
-6
arch/arm26/kernel/process.c
arch/arm26/kernel/process.c
+3
-1
arch/arm26/kernel/setup.c
arch/arm26/kernel/setup.c
+25
-48
arch/arm26/kernel/traps.c
arch/arm26/kernel/traps.c
+6
-1
arch/arm26/lib/Makefile
arch/arm26/lib/Makefile
+5
-10
arch/arm26/machine/Makefile
arch/arm26/machine/Makefile
+1
-1
arch/arm26/machine/arch.c
arch/arm26/machine/arch.c
+0
-36
arch/arm26/machine/irq.c
arch/arm26/machine/irq.c
+2
-2
arch/arm26/mm/init.c
arch/arm26/mm/init.c
+1
-1
arch/arm26/mm/mm-memc.c
arch/arm26/mm/mm-memc.c
+0
-2
include/asm-arm26/arch.h
include/asm-arm26/arch.h
+0
-62
include/asm-arm26/bug.h
include/asm-arm26/bug.h
+10
-1
include/asm-arm26/bugs.h
include/asm-arm26/bugs.h
+1
-1
include/asm-arm26/ecard.h
include/asm-arm26/ecard.h
+3
-0
include/asm-arm26/mach-types.h
include/asm-arm26/mach-types.h
+1
-0
include/asm-arm26/pgalloc.h
include/asm-arm26/pgalloc.h
+2
-2
include/asm-arm26/pgtable.h
include/asm-arm26/pgtable.h
+1
-1
include/asm-arm26/statfs.h
include/asm-arm26/statfs.h
+2
-19
include/asm-arm26/thread_info.h
include/asm-arm26/thread_info.h
+1
-1
No files found.
MAINTAINERS
View file @
bd824b9f
...
@@ -245,6 +245,21 @@ M: jschlst@samba.org
...
@@ -245,6 +245,21 @@ M: jschlst@samba.org
L: linux-atalk@lists.netspace.org
L: linux-atalk@lists.netspace.org
S: Maintained
S: Maintained
ARM26 ARCHITECTURE
P: Ian Molton
M: spyro@f2s.com
S: Maintained
ARM26/ARCHIMEDES
P: Ian Molton
M: spyro@f2s.com
S: Maintained
ARM26/A5000
P: John Appleby
M: john@dnsworld.co.uk
S: Maintained
ARM MFM AND FLOPPY DRIVERS
ARM MFM AND FLOPPY DRIVERS
P: Dave Gilbert
P: Dave Gilbert
M: linux@treblig.org
M: linux@treblig.org
...
...
arch/arm26/Config.help
deleted
100644 → 0
View file @
d62f5562
CONFIG_ARM
The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM ltd and targeted at embedded applications.
CONFIG_IDE
If you say Y here, your kernel will be able to manage low cost mass
storage units such as ATA/(E)IDE and ATAPI units. The most common
cases are IDE hard drives and ATAPI CD-ROM drives.
If your system is pure SCSI and doesn't use these interfaces, you
can say N here.
Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
for mass storage units such as hard disks. It was designed by
Western Digital and Compaq Computer in 1984. It was then named
ST506. Quite a number of disks use the IDE interface.
AT Attachment (ATA) is the superset of the IDE specifications.
ST506 was also called ATA-1.
Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
ATA-3. It provides support for larger disks (up to 8.4GB by means of
the LBA standard), more disks (4 instead of 2) and for other mass
storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
ATA-4 and provides faster (and more CPU friendly) transfer modes
than previous PIO (Programmed processor Input/Output) from previous
ATA/IDE standards by means of fast DMA controllers.
ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
CD-ROM drives, similar in many respects to the SCSI protocol.
SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
designed in order to prevent data corruption and disk crash by
detecting pre hardware failure conditions (heat, access time, and
the like...). Disks built since June 1995 may follow this standard.
The kernel itself don't manage this; however there are quite a
number of user programs such as smart that can query the status of
SMART parameters disk.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide.o.
For further information, please read <file:Documentation/ide.txt>.
If unsure, say Y.
CONFIG_ISA
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
inside your box. Other bus systems are PCI, EISA, MicroChannel
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
newer boards don't support it. If you have ISA, say Y, otherwise N.
CONFIG_PREEMPT
This option reduces the latency of the kernel when reacting to
real-time or interactive events by allowing a low priority process to
be preempted even if it is in kernel mode executing a system call.
This allows applications to run more reliably even when the system is
under load.
Say Y here if you are building a kernel for a desktop, embedded
or real-time system. Say N if you are unsure.
CONFIG_MCA
MicroChannel Architecture is found in some IBM PS/2 machines and
laptops. It is a bus system similar to PCI or ISA. See
<file:Documentation/mca.txt> (and especially the web page given
there) before attempting to build an MCA bus kernel.
CONFIG_EISA
The Extended Industry Standard Architecture (EISA) bus was
developed as an open alternative to the IBM MicroChannel bus.
The EISA bus provided some of the features of the IBM MicroChannel
bus while maintaining backward compatibility with cards made for
the older ISA bus. The EISA bus saw limited use between 1988 and
1995 when it was made obsolete by the PCI bus.
Say Y here if you are building a kernel for an EISA-based machine.
Otherwise, say N.
CONFIG_HOTPLUG
Say Y here if you want to plug devices into your computer while
the system is running, and be able to use them quickly. In many
cases, the devices can likewise be unplugged at any time too.
One well known example of this is PCMCIA- or PC-cards, credit-card
size devices such as network cards, modems or hard drives which are
plugged into slots found on all modern laptop computers. Another
example, used on modern desktops as well as laptops, is USB.
Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
software (at <http://linux-hotplug.sourceforge.net/>) and install it.
Then your kernel will automatically call out to a user mode "policy
agent" (/sbin/hotplug) to load modules and set up software needed
to use devices as you hotplug them.
CONFIG_KCORE_ELF
If you enabled support for /proc file system then the file
/proc/kcore will contain the kernel core image. This can be used
in gdb:
$ cd /usr/src/linux ; gdb vmlinux /proc/kcore
You have two choices here: ELF and A.OUT. Selecting ELF will make
/proc/kcore appear in ELF core format as defined by the Executable
and Linking Format specification. Selecting A.OUT will choose the
old "a.out" format which may be necessary for some old versions
of binutils or on some architectures.
This is especially useful if you have compiled the kernel with the
"-g" option to preserve debugging information. It is mainly used
for examining kernel data structures on the live kernel so if you
don't understand what this means or are not a kernel hacker, just
leave it at its default value ELF.
CONFIG_KCORE_AOUT
Not necessary unless you're using a very out-of-date binutils
version. You probably want KCORE_ELF.
CONFIG_BINFMT_ELF
ELF (Executable and Linkable Format) is a format for libraries and
executables used across different architectures and operating
systems. Saying Y here will enable your kernel to run ELF binaries
and enlarge it by about 13 KB. ELF support under Linux has now all
but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
because it is portable (this does *not* mean that you will be able
to run executables from different architectures or operating systems
however) and makes building run-time libraries very easy. Many new
executables are distributed solely in ELF format. You definitely
want to say Y here.
Information about ELF is contained in the ELF HOWTO available from
<http://www.linuxdoc.org/docs.html#howto>.
If you find that after upgrading from Linux kernel 1.2 and saying Y
here, you still can't run any ELF binaries (they just crash), then
you'll have to install the newest ELF runtime libraries, including
ld.so (check the file <file:Documentation/Changes> for location and
latest version).
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called binfmt_elf.o. Saying M or N here is dangerous because
some crucial programs on your system might be in ELF format.
CONFIG_BINFMT_AOUT
A.out (Assembler.OUTput) is a set of formats for libraries and
executables used in the earliest versions of UNIX. Linux used the
a.out formats QMAGIC and ZMAGIC until they were replaced with the
ELF format.
As more and more programs are converted to ELF, the use for a.out
will gradually diminish. If you disable this option it will reduce
your kernel by one page. This is not much and by itself does not
warrant removing support. However its removal is a good idea if you
wish to ensure that absolutely none of your programs will use this
older executable format. If you don't know what to answer at this
point then answer Y. If someone told you "You need a kernel with
QMAGIC support" then you'll have to say Y here. You may answer M to
compile a.out support as a module and later load the module when you
want to use a program or library in a.out format. The module will be
called binfmt_aout.o. Saying M or N here is dangerous though,
because some crucial programs on your system might still be in A.OUT
format.
CONFIG_BINFMT_MISC
If you say Y here, it will be possible to plug wrapper-driven binary
formats into the kernel. You will like this especially when you use
programs that need an interpreter to run like Java, Python or
Emacs-Lisp. It's also useful if you often run DOS executables under
the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>). Once you have
registered such a binary class with the kernel, you can start one of
those programs simply by typing in its name at a shell prompt; Linux
will automatically feed it to the correct interpreter.
You can do other nice things, too. Read the file
<file:Documentation/binfmt_misc.txt> to learn how to use this
feature, and <file:Documentation/java.txt> for information about how
to include Java support.
You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
use this part of the kernel.
You may say M here for module support and later load the module when
you have use for it; the module is called binfmt_misc.o. If you
don't know what to answer at this point, say Y.
CONFIG_SCSI
If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
any other SCSI device under Linux, say Y and make sure that you know
the name of your SCSI host adapter (the card inside your computer
that "speaks" the SCSI protocol, also called SCSI controller),
because you will be asked for it.
You also need to say Y here if you want support for the parallel
port version of the 100 MB IOMEGA ZIP drive.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called scsi_mod.o. If you want to compile it as
a module, say M here and read <file:Documentation/modules.txt> and
<file:Documentation/scsi.txt>. However, do not compile this as a
module if your root file system (the one containing the directory /)
is located on a SCSI device.
CONFIG_NETDEVICES
You can say N here if you don't intend to connect your Linux box to
any other computer at all or if all your connections will be over a
telephone line with a modem either via UUCP (UUCP is a protocol to
forward mail and news between unix hosts over telephone lines; read
the UUCP-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>) or dialing up a shell
account or a BBS, even using term (term is a program which gives you
almost full Internet connectivity if you have a regular dial up
shell account on some Internet connected Unix computer. Read
<http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>).
You'll have to say Y if your computer contains a network card that
you want to use under Linux (make sure you know its name because you
will be asked for it and read the Ethernet-HOWTO (especially if you
plan to use more than one network card under Linux)) or if you want
to use SLIP (Serial Line Internet Protocol is the protocol used to
send Internet traffic over telephone lines or null modem cables) or
CSLIP (compressed SLIP) or PPP (Point to Point Protocol, a better
and newer replacement for SLIP) or PLIP (Parallel Line Internet
Protocol is mainly used to create a mini network by connecting the
parallel ports of two local machines) or AX.25/KISS (protocol for
sending Internet traffic over amateur radio links).
Make sure to read the NET-3-HOWTO. Eventually, you will have to read
Olaf Kirch's excellent and free book "Network Administrator's
Guide", to be found in <http://www.linuxdoc.org/docs.html#guide>. If
unsure, say Y.
CONFIG_MAGIC_SYSRQ
If you say Y here, you will have some control over the system even
if the system crashes for example during kernel debugging (e.g., you
will be able to flush the buffer cache to disk, reboot the system
immediately or dump some status information). This is accomplished
by pressing various keys while holding SysRq (Alt+PrintScreen). It
also works on a serial console (on PC hardware at least), if you
send a BREAK and then within 5 seconds a command keypress. The
keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
unless you really know what this hack does.
CONFIG_ARCH_ARCA5K
This selects support for 'ARM26' CPUs (ARM 2 and 3)
CONFIG_ARCH_A5K
Say Y here to to support the Acorn A5000. Linux can support the
internal IDE disk and CD-ROM interface, serial and parallel port,
and the floppy drive. Note that on some A5000s the floppy is
plugged into the wrong socket on the motherboard.
CONFIG_ARCH_ARC
The Acorn Archimedes was an personal computer based on an 8MHz ARM2
processor, released in 1987. It supported 512K of RAM and 2 800K
floppy disks. Picture and more detailed specifications at
<http://www.computingmuseum.com/museum/archi.htm>.
CONFIG_PAGESIZE_16
Say Y here if your Archimedes or A5000 system has only 2MB of
memory, otherwise say N. The resulting kernel will not run on a
machine with 4MB of memory.
CONFIG_FPE_NWFPE
Say Y to include the NWFPE floating point emulator in the kernel.
This is necessary to run most binaries. Linux does not currently
support floating point hardware so you need to say Y here even if
your machine has an FPA or floating point co-processor podule.
It is also possible to say M to build the emulator as a module
(nwfpe.o) or indeed to leave it out altogether. However, unless you
know what you are doing this can easily render your machine
unbootable. Saying Y is the safe option.
You may say N here if you are going to load the Acorn FPEmulator
early in the bootup.
CONFIG_FPE_FASTFPE
Say Y here to include the FAST floating point emulator in the kernel.
This is an experimental much faster emulator which now also has full
precision for the mantissa. It does not support any exceptions.
It is very simple, and approximately 3-6 times faster than NWFPE.
It should be sufficient for most programs. It may be not suitable
for scientific calculations, but you have to check this for yourself.
If you do not feel you need a faster FP emulation you should better
choose NWFPE.
It is also possible to say M to build the emulator as a module
(fastfpe.o). But keep in mind that you should only load the FP
emulator early in the bootup. You should never change from NWFPE to
FASTFPE or vice versa in an active system!
CONFIG_DEBUG_ERRORS
This option controls verbose debugging information which can be
printed when the kernel detects an internal error. This debugging
information is useful to kernel hackers when tracking down problems,
but mostly meaningless to other people. It's safe to say Y unless
you are concerned with the code size or don't want to see these
messages.
CONFIG_NO_FRAME_POINTER
If you say Y here, the resulting kernel will be slightly smaller and
faster. However, when a problem occurs with the kernel, the
information that is reported is severely limited. Most people
should say N here.
CONFIG_DEBUG_USER
When a user program crashes due to an exception, the kernel can
print a brief message explaining what the problem was. This is
sometimes helpful for debugging but serves no purpose on a
production system. Most people should say N here.
CONFIG_DEBUG_INFO
Say Y here to include source-level debugging information in the
`vmlinux' binary image. This is handy if you want to use gdb or
addr2line to debug the kernel. It has no impact on the in-memory
footprint of the running kernel but it can increase the amount of
time and disk space needed for compilation of the kernel. If in
doubt say N.
CONFIG_DEBUG_LL
Say Y here to include definitions of printascii, printchar, printhex
in the kernel. This is helpful if you are debugging code that
executes before the console is initialized.
CONFIG_NO_PGT_CACHE
Normally the kernel maintains a `quicklist' of preallocated
pagetable structures in order to increase performance. On machines
with very few pages this may however be a loss. Say Y here to
disable the pgtable cache.
CONFIG_ARTHUR
Say Y here to include the kernel code necessary if you want to run
Acorn RISC OS/Arthur binaries under Linux. This code is still very
experimental; if this sounds frightening, say N and sleep in peace.
You can also say M here to compile this support as a module (which
will be called arthur.o).
CONFIG_CMDLINE
On some architectures (EBSA110 and CATS), there is currently no way
for the boot loader to pass arguments to the kernel. For these
architectures, you should supply some command-line options at build
time by entering them here. As a minimum, you should specify the
memory size and the root device (e.g., mem=64M root=/dev/nfs).
CONFIG_DEBUG_KERNEL
Say Y here if you are developing drivers or trying to debug and
identify kernel problems.
CONFIG_DEBUG_SLAB
Say Y here to have the kernel do limited verification on memory
allocation as well as poisoning memory on free to catch use of freed
memory.
CONFIG_DEBUG_SPINLOCK
Say Y here and build SMP to catch missing spinlock initialization
and certain other kinds of spinlock errors commonly made. This is
best used in conjunction with the NMI watchdog so that spinlock
deadlocks are also debuggable.
CONFIG_DEBUG_BUGVERBOSE
Say Y here to make BUG() panics output the file name and line number
of the BUG call as well as the EIP and oops trace. This aids
debugging but costs about 70-100K of memory.
CONFIG_ZBOOT_ROM
Say Y here if you intend to execute your compressed kernel image (zImage)
directly from ROM or flash. If unsure, say N.
CONFIG_ZBOOT_ROM_TEXT
The base address for zImage. Unless you have special requirements, you
should not change this value.
CONFIG_ZBOOT_ROM_BSS
The base address of 64KiB of read/write memory, which must be available
while the decompressor is running. Unless you have special requirements,
you should not change this value.
arch/arm26/Kconfig
View file @
bd824b9f
...
@@ -8,15 +8,8 @@ mainmenu "Linux Kernel Configuration"
...
@@ -8,15 +8,8 @@ mainmenu "Linux Kernel Configuration"
config ARM
config ARM
bool
bool
default y
default y
help
The ARM series is a line of low-power-consumption RISC chip designs
config ARM26
licensed by ARM ltd and targeted at embedded applications and
handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
manufactured, but legacy ARM-based PC hardware remains popular in
Europe. There is an ARM Linux project with a web page at
<http://www.arm.linux.org.uk/>.
config ARCH_ARCA5K
bool
bool
default y
default y
...
@@ -67,25 +60,25 @@ comment "Archimedes/A5000 Implementations (select only ONE)"
...
@@ -67,25 +60,25 @@ comment "Archimedes/A5000 Implementations (select only ONE)"
config ARCH_ARC
config ARCH_ARC
bool "Archimedes"
bool "Archimedes"
depends on ARCH_ARCA5K
help
help
The Acorn Archimedes was an personal computer based on an 8K ARM2
Say Y to support the Acorn Archimedes.
processor, released in 1987. It supported 512K of RAM and 2 800K
floppy disks. Picture and more detailed specifications at
The Acorn Archimedes was an personal computer based on an 8MHz ARM2
<http://www.computingmuseum.com/museum/archi.htm>.
processor, released in 1987. It supported up to 16MB of RAM in
later models and floppy, harddisc, ethernet etc.
config ARCH_A5K
config ARCH_A5K
bool "A5000"
bool "A5000"
depends on ARCH_ARCA5K
help
help
Say Y here to to support the Acorn A5000. Linux can support the
Say Y here to to support the Acorn A5000.
Linux can support the
internal IDE disk and CD-ROM interface, serial and parallel port,
internal IDE disk and CD-ROM interface, serial and parallel port,
and the floppy drive. Note that on some A5000s the floppy is
and the floppy drive. Note that on some A5000s the floppy is
plugged into the wrong socket on the motherboard.
plugged into the wrong socket on the motherboard.
config PAGESIZE_16
config PAGESIZE_16
bool "2MB physical memory"
bool "2MB physical memory (broken)"
depends on ARCH_ARCA5K
help
help
Say Y here if your Archimedes or A5000 system has only 2MB of
Say Y here if your Archimedes or A5000 system has only 2MB of
memory, otherwise say N. The resulting kernel will not run on a
memory, otherwise say N. The resulting kernel will not run on a
...
@@ -186,81 +179,7 @@ config KCORE_AOUT
...
@@ -186,81 +179,7 @@ config KCORE_AOUT
endchoice
endchoice
config BINFMT_AOUT
source "fs/Kconfig.binfmt"
tristate "Kernel support for a.out binaries"
---help---
A.out (Assembler.OUTput) is a set of formats for libraries and
executables used in the earliest versions of UNIX. Linux used the
a.out formats QMAGIC and ZMAGIC until they were replaced with the
ELF format.
As more and more programs are converted to ELF, the use for a.out
will gradually diminish. If you disable this option it will reduce
your kernel by one page. This is not much and by itself does not
warrant removing support. However its removal is a good idea if you
wish to ensure that absolutely none of your programs will use this
older executable format. If you don't know what to answer at this
point then answer Y. If someone told you "You need a kernel with
QMAGIC support" then you'll have to say Y here. You may answer M to
compile a.out support as a module and later load the module when you
want to use a program or library in a.out format. The module will be
called binfmt_aout. Saying M or N here is dangerous though,
because some crucial programs on your system might still be in A.OUT
format.
config BINFMT_ELF
tristate "Kernel support for ELF binaries"
---help---
ELF (Executable and Linkable Format) is a format for libraries and
executables used across different architectures and operating
systems. Saying Y here will enable your kernel to run ELF binaries
and enlarge it by about 13 KB. ELF support under Linux has now all
but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
because it is portable (this does *not* mean that you will be able
to run executables from different architectures or operating systems
however) and makes building run-time libraries very easy. Many new
executables are distributed solely in ELF format. You definitely
want to say Y here.
Information about ELF is contained in the ELF HOWTO available from
<http://www.linuxdoc.org/docs.html#howto>.
If you find that after upgrading from Linux kernel 1.2 and saying Y
here, you still can't run any ELF binaries (they just crash), then
you'll have to install the newest ELF runtime libraries, including
ld.so (check the file <file:Documentation/Changes> for location and
latest version).
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called binfmt_elf. Saying M or N here is dangerous because
some crucial programs on your system might be in ELF format.
config BINFMT_MISC
tristate "Kernel support for MISC binaries"
---help---
If you say Y here, it will be possible to plug wrapper-driven binary
formats into the kernel. You will like this especially when you use
programs that need an interpreter to run like Java, Python or
Emacs-Lisp. It's also useful if you often run DOS executables under
the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>). Once you have
registered such a binary class with the kernel, you can start one of
those programs simply by typing in its name at a shell prompt; Linux
will automatically feed it to the correct interpreter.
You can do other nice things, too. Read the file
<file:Documentation/binfmt_misc.txt> to learn how to use this
feature, and <file:Documentation/java.txt> for information about how
to include Java support.
You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
use this part of the kernel.
You may say M here for module support and later load the module when
you have use for it; the module is called binfmt_misc. If you
don't know what to answer at this point, say Y.
config PREEMPT
config PREEMPT
bool "Preemptible Kernel (EXPERIMENTAL)"
bool "Preemptible Kernel (EXPERIMENTAL)"
...
@@ -311,59 +230,8 @@ source "net/Kconfig"
...
@@ -311,59 +230,8 @@ source "net/Kconfig"
source "net/irda/Kconfig"
source "net/irda/Kconfig"
menu "ATA/ATAPI/MFM/RLL support"
config IDE
tristate "ATA/ATAPI/MFM/RLL support"
---help---
If you say Y here, your kernel will be able to manage low cost mass
storage units such as ATA/(E)IDE and ATAPI units. The most common
cases are IDE hard drives and ATAPI CD-ROM drives.
If your system is pure SCSI and doesn't use these interfaces, you
can say N here.
Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
for mass storage units such as hard disks. It was designed by
Western Digital and Compaq Computer in 1984. It was then named
ST506. Quite a number of disks use the IDE interface.
AT Attachment (ATA) is the superset of the IDE specifications.
ST506 was also called ATA-1.
Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
ATA-3. It provides support for larger disks (up to 8.4GB by means of
the LBA standard), more disks (4 instead of 2) and for other mass
storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
ATA-4 and provides faster (and more CPU friendly) transfer modes
than previous PIO (Programmed processor Input/Output) from previous
ATA/IDE standards by means of fast DMA controllers.
ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
CD-ROM drives, similar in many respects to the SCSI protocol.
SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
designed in order to prevent data corruption and disk crash by
detecting pre hardware failure conditions (heat, access time, and
the like...). Disks built since June 1995 may follow this standard.
The kernel itself don't manage this; however there are quite a
number of user programs such as smart that can query the status of
SMART parameters disk.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide.
For further information, please read <file:Documentation/ide.txt>.
If unsure, say Y.
source "drivers/ide/Kconfig"
source "drivers/ide/Kconfig"
endmenu
source "drivers/scsi/Kconfig"
source "drivers/scsi/Kconfig"
source "drivers/isdn/Kconfig"
source "drivers/isdn/Kconfig"
...
...
arch/arm26/config.in
deleted
100644 → 0
View file @
d62f5562
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/config-language.txt.
#
mainmenu_name "Linux Kernel Configuration"
define_bool CONFIG_ARM y
define_bool CONFIG_EISA n
define_bool CONFIG_SBUS n
define_bool CONFIG_MCA n
define_bool CONFIG_UID16 y
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
define_bool CONFIG_GENERIC_BUST_SPINLOCK n
define_bool CONFIG_GENERIC_ISA_DMA n
source init/Config.in
mainmenu_option next_comment
comment 'System Type'
define_bool CONFIG_ARCH_ARCA5K
bool ' Archimedes' CONFIG_ARCH_ARC
bool ' A5000' CONFIG_ARCH_A5K
# Definitions to make life easier
define_bool CONFIG_ARCH_ACORN y
define_bool CONFIG_CPU_32 n
define_bool CONFIG_CPU_26 y
bool '2MB physical memory' CONFIG_PAGESIZE_16
endmenu
mainmenu_option next_comment
comment 'General setup'
define_bool CONFIG_FIQ y
# Compressed boot loader in ROM. Yes, we really want to ask about
# TEXT and BSS so we preserve their values in the config files.
bool 'Compressed boot loader in ROM/flash' CONFIG_ZBOOT_ROM
hex 'Compressed ROM boot loader base address' CONFIG_ZBOOT_ROM_TEXT 0
hex 'Compressed ROM boot loader BSS address' CONFIG_ZBOOT_ROM_BSS 0
comment 'At least one math emulation must be selected'
define_bool CONFIG_FPE_NWFPE y
choice 'Kernel core (/proc/kcore) format' \
"ELF CONFIG_KCORE_ELF \
A.OUT CONFIG_KCORE_AOUT" ELF
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
string 'Default kernel command string' CONFIG_CMDLINE ""
define_bool CONFIG_ALIGNMENT_TRAP n
endmenu
source drivers/parport/Config.in
source drivers/pnp/Config.in
source drivers/block/Config.in
source drivers/md/Config.in
source drivers/acorn/block/Config.in
if [ "$CONFIG_NET" = "y" ]; then
source net/Config.in
mainmenu_option next_comment
comment 'Network device support'
bool 'Network device support' CONFIG_NETDEVICES
if [ "$CONFIG_NETDEVICES" = "y" ]; then
source drivers/net/Config.in
fi
endmenu
fi
mainmenu_option next_comment
comment 'ATA/ATAPI/MFM/RLL support'
tristate 'ATA/ATAPI/MFM/RLL support' CONFIG_IDE
if [ "$CONFIG_IDE" != "n" ]; then
source drivers/ide/Config.in
else
define_bool CONFIG_BLK_DEV_HD n
fi
endmenu
mainmenu_option next_comment
comment 'SCSI support'
tristate 'SCSI support' CONFIG_SCSI
endmenu
source drivers/isdn/Config.in
#
# input before char - char/joystick depends on it. As does USB.
#
source drivers/input/Config.in
source drivers/char/Config.in
if [ "$CONFIG_BUSMOUSE" = "y" ]; then
define_bool CONFIG_KBDMOUSE y
fi
source drivers/media/Config.in
source fs/Config.in
if [ "$CONFIG_VT" = "y" ]; then
mainmenu_option next_comment
comment 'Console drivers'
source drivers/video/Config.in
endmenu
fi
mainmenu_option next_comment
comment 'Sound'
tristate 'Sound card support' CONFIG_SOUND
if [ "$CONFIG_SOUND" != "n" ]; then
source sound/Config.in
fi
endmenu
source drivers/misc/Config.in
source drivers/usb/Config.in
mainmenu_option next_comment
comment 'Kernel hacking'
# Always compile kernel with framepointer (until 2.4 real comes out)
# Bug reports aren't much use without this.
bool 'Compile kernel without frame pointer' CONFIG_NO_FRAME_POINTER
bool 'Verbose user fault messages' CONFIG_DEBUG_USER
bool 'Include debugging information in kernel binary' CONFIG_DEBUG_INFO
bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
dep_bool ' Debug memory allocations' CONFIG_DEBUG_SLAB $CONFIG_DEBUG_KERNEL
dep_bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ $CONFIG_DEBUG_KERNEL
dep_bool ' Spinlock debugging' CONFIG_DEBUG_SPINLOCK $CONFIG_DEBUG_KERNEL
dep_bool ' Wait queue debugging' CONFIG_DEBUG_WAITQ $CONFIG_DEBUG_KERNEL
dep_bool ' Verbose BUG() reporting (adds 70K)' CONFIG_DEBUG_BUGVERBOSE $CONFIG_DEBUG_KERNEL
dep_bool ' Verbose kernel error messages' CONFIG_DEBUG_ERRORS $CONFIG_DEBUG_KERNEL
# These options are only for real kernel hackers who want to get their hands dirty.
dep_bool ' Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_DEBUG_KERNEL
endmenu
source security/Config.in
source lib/Config.in
arch/arm26/kernel/Makefile
View file @
bd824b9f
...
@@ -6,7 +6,7 @@ ENTRY_OBJ = entry.o
...
@@ -6,7 +6,7 @@ ENTRY_OBJ = entry.o
# Object file lists.
# Object file lists.
obj-y
:=
arch.o
compat.o dma.o entry.o irq.o
\
obj-y
:=
compat.o dma.o entry.o irq.o
\
process.o ptrace.o semaphore.o setup.o signal.o sys_arm.o
\
process.o ptrace.o semaphore.o setup.o signal.o sys_arm.o
\
time.o traps.o ecard.o time-acorn.o dma.o
\
time.o traps.o ecard.o time-acorn.o dma.o
\
ecard.o fiq.o time.o
ecard.o fiq.o time.o
...
...
arch/arm26/kernel/arch.c
deleted
100644 → 0
View file @
d62f5562
/*
* linux/arch/arm/kernel/arch.c
*
* Architecture specific fixups.
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/types.h>
#include <asm/elf.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/arch.h>
#include <asm/page.h>
unsigned
int
vram_size
;
unsigned
int
memc_ctrl_reg
;
unsigned
int
number_mfm_drives
;
static
int
__init
parse_tag_acorn
(
const
struct
tag
*
tag
)
{
memc_ctrl_reg
=
tag
->
u
.
acorn
.
memc_control_reg
;
number_mfm_drives
=
tag
->
u
.
acorn
.
adfsdrives
;
return
0
;
}
__tagtable
(
ATAG_ACORN
,
parse_tag_acorn
);
arch/arm26/kernel/asm-offsets.c
View file @
bd824b9f
/*
/*
* Copyright (C) 1995-2001 Russell King
* Copyright (C) 1995-2001 Russell King
* 2001-2002 Keith Owens
* 2001-2002 Keith Owens
* 2003
-?
Ian Molton
* 2003
Ian Molton
*
*
* Generate definitions needed by assembly language modules.
* Generate definitions needed by assembly language modules.
* This code generates raw asm output which is post-processed to extract
* This code generates raw asm output which is post-processed to extract
...
...
arch/arm26/kernel/compat.c
View file @
bd824b9f
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/page.h>
#include <asm/page.h>
#include <asm/arch.h>
//
#include <asm/arch.h>
//#include <asm/mach/irq.h>
//#include <asm/mach/irq.h>
/*
/*
...
...
arch/arm26/kernel/dma.c
View file @
bd824b9f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* linux/arch/arm/kernel/dma.c
* linux/arch/arm/kernel/dma.c
*
*
* Copyright (C) 1995-2000 Russell King
* Copyright (C) 1995-2000 Russell King
* 2003
-?
Ian Molton
* 2003
Ian Molton
*
*
* This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* it under the terms of the GNU General Public License version 2 as
...
...
arch/arm26/kernel/ecard.c
View file @
bd824b9f
...
@@ -11,9 +11,8 @@
...
@@ -11,9 +11,8 @@
* Find all installed expansion cards, and handle interrupts from them.
* Find all installed expansion cards, and handle interrupts from them.
*
*
* Created from information from Acorns RiscOS3 PRMs
* Created from information from Acorns RiscOS3 PRMs
*
* 15-Jun-2003 IM Modified from ARM32 (RiscPC capable) version
* 08-Dec-1996 RMK Added code for the 9'th expansion card - the ether
* 10-Jan-1999 RMK Run loaders in a simulated RISC OS environment.
* podule slot.
* 06-May-1997 RMK Added blacklist for cards whose loader doesn't work.
* 06-May-1997 RMK Added blacklist for cards whose loader doesn't work.
* 12-Sep-1997 RMK Created new handling of interrupt enables/disables
* 12-Sep-1997 RMK Created new handling of interrupt enables/disables
* - cards can now register their own routine to control
* - cards can now register their own routine to control
...
@@ -21,10 +20,7 @@
...
@@ -21,10 +20,7 @@
* 29-Sep-1997 RMK Expansion card interrupt hardware not being re-enabled
* 29-Sep-1997 RMK Expansion card interrupt hardware not being re-enabled
* on reset from Linux. (Caused cards not to respond
* on reset from Linux. (Caused cards not to respond
* under RiscOS without hard reset).
* under RiscOS without hard reset).
* 15-Feb-1998 RMK Added DMA support
*
* 12-Sep-1998 RMK Added EASI support
* 10-Jan-1999 RMK Run loaders in a simulated RISC OS environment.
* 17-Apr-1999 RMK Support for EASI Type C cycles.
*/
*/
#define ECARD_C
#define ECARD_C
...
@@ -527,8 +523,7 @@ static int ecard_prints(char *buffer, ecard_t *ec)
...
@@ -527,8 +523,7 @@ static int ecard_prints(char *buffer, ecard_t *ec)
{
{
char
*
start
=
buffer
;
char
*
start
=
buffer
;
buffer
+=
sprintf
(
buffer
,
" %d: %s "
,
ec
->
slot_no
,
buffer
+=
sprintf
(
buffer
,
" %d: "
,
ec
->
slot_no
);
ec
->
type
==
ECARD_EASI
?
"EASI"
:
" "
);
if
(
ec
->
cid
.
id
==
0
)
{
if
(
ec
->
cid
.
id
==
0
)
{
struct
in_chunk_dir
incd
;
struct
in_chunk_dir
incd
;
...
@@ -674,7 +669,7 @@ ecard_probe(int slot, card_type_t type)
...
@@ -674,7 +669,7 @@ ecard_probe(int slot, card_type_t type)
memset
(
ec
,
0
,
sizeof
(
ecard_t
));
memset
(
ec
,
0
,
sizeof
(
ecard_t
));
ec
->
slot_no
=
slot
;
ec
->
slot_no
=
slot
;
ec
->
type
=
type
;
ec
->
type
=
type
;
ec
->
irq
=
NO_IRQ
;
ec
->
irq
=
NO_IRQ
;
ec
->
fiq
=
NO_IRQ
;
ec
->
fiq
=
NO_IRQ
;
ec
->
dma
=
NO_DMA
;
ec
->
dma
=
NO_DMA
;
...
@@ -770,9 +765,8 @@ static int __init ecard_init(void)
...
@@ -770,9 +765,8 @@ static int __init ecard_init(void)
printk
(
"Probing expansion cards
\n
"
);
printk
(
"Probing expansion cards
\n
"
);
for
(
slot
=
0
;
slot
<
8
;
slot
++
)
{
for
(
slot
=
0
;
slot
<
4
;
slot
++
)
{
if
(
ecard_probe
(
slot
,
ECARD_EASI
)
==
-
ENODEV
)
ecard_probe
(
slot
,
ECARD_IOC
);
ecard_probe
(
slot
,
ECARD_IOC
);
}
}
irqhw
=
ecard_probeirqhw
();
irqhw
=
ecard_probeirqhw
();
...
...
arch/arm26/kernel/irq.c
View file @
bd824b9f
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
* not be set too low to prevent false triggering. Conversely, if it
* not be set too low to prevent false triggering. Conversely, if it
* is set too high, then you could miss a stuck IRQ.
* is set too high, then you could miss a stuck IRQ.
*
*
* Maybe we ought to set a timer and re-enable the IRQ at a later time?
*
FIXME
Maybe we ought to set a timer and re-enable the IRQ at a later time?
*/
*/
#define MAX_IRQ_CNT 100000
#define MAX_IRQ_CNT 100000
...
@@ -49,7 +49,6 @@ static volatile unsigned long irq_err_count;
...
@@ -49,7 +49,6 @@ static volatile unsigned long irq_err_count;
static
spinlock_t
irq_controller_lock
=
SPIN_LOCK_UNLOCKED
;
static
spinlock_t
irq_controller_lock
=
SPIN_LOCK_UNLOCKED
;
struct
irqdesc
irq_desc
[
NR_IRQS
];
struct
irqdesc
irq_desc
[
NR_IRQS
];
void
(
*
init_arch_irq
)(
void
)
__initdata
=
NULL
;
/*
/*
* Dummy mask/unmask handler
* Dummy mask/unmask handler
...
@@ -88,7 +87,6 @@ void disable_irq(unsigned int irq)
...
@@ -88,7 +87,6 @@ void disable_irq(unsigned int irq)
{
{
struct
irqdesc
*
desc
=
irq_desc
+
irq
;
struct
irqdesc
*
desc
=
irq_desc
+
irq
;
unsigned
long
flags
;
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
if
(
!
desc
->
depth
++
)
if
(
!
desc
->
depth
++
)
desc
->
enabled
=
0
;
desc
->
enabled
=
0
;
...
@@ -114,7 +112,7 @@ void enable_irq(unsigned int irq)
...
@@ -114,7 +112,7 @@ void enable_irq(unsigned int irq)
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
if
(
unlikely
(
!
desc
->
depth
))
{
if
(
unlikely
(
!
desc
->
depth
))
{
printk
(
"enable_irq(%u) unbalanced from %p
\n
"
,
irq
,
printk
(
"enable_irq(%u) unbalanced from %p
\n
"
,
irq
,
__builtin_return_address
(
0
));
__builtin_return_address
(
0
));
//FIXME bum addresses reported - why?
}
else
if
(
!--
desc
->
depth
)
{
}
else
if
(
!--
desc
->
depth
)
{
desc
->
probing
=
0
;
desc
->
probing
=
0
;
desc
->
enabled
=
1
;
desc
->
enabled
=
1
;
...
@@ -187,7 +185,6 @@ __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs)
...
@@ -187,7 +185,6 @@ __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs)
unsigned
int
status
;
unsigned
int
status
;
spin_unlock
(
&
irq_controller_lock
);
spin_unlock
(
&
irq_controller_lock
);
if
(
!
(
action
->
flags
&
SA_INTERRUPT
))
if
(
!
(
action
->
flags
&
SA_INTERRUPT
))
local_irq_enable
();
local_irq_enable
();
...
@@ -700,6 +697,6 @@ void __init init_IRQ(void)
...
@@ -700,6 +697,6 @@ void __init init_IRQ(void)
for
(
irq
=
0
,
desc
=
irq_desc
;
irq
<
NR_IRQS
;
irq
++
,
desc
++
)
for
(
irq
=
0
,
desc
=
irq_desc
;
irq
<
NR_IRQS
;
irq
++
,
desc
++
)
*
desc
=
bad_irq_desc
;
*
desc
=
bad_irq_desc
;
init_arch
_irq
();
arc_init
_irq
();
init_dma
();
init_dma
();
}
}
arch/arm26/kernel/process.c
View file @
bd824b9f
...
@@ -227,7 +227,9 @@ extern void free_page_8k(unsigned long page);
...
@@ -227,7 +227,9 @@ extern void free_page_8k(unsigned long page);
#define ll_alloc_task_struct() ((struct thread_info *)get_page_8k(GFP_KERNEL))
#define ll_alloc_task_struct() ((struct thread_info *)get_page_8k(GFP_KERNEL))
#define ll_free_task_struct(p) free_page_8k((unsigned long)(p))
#define ll_free_task_struct(p) free_page_8k((unsigned long)(p))
struct
thread_info
*
alloc_thread_info
(
void
)
//FIXME - do we use *task param below looks like we dont, which is ok?
//FIXME - if EXTRA_TASK_STRUCT is zero we can optimise the below away permanently. *IF* its supposed to be zero.
struct
thread_info
*
alloc_thread_info
(
struct
task_struct
*
task
)
{
{
struct
thread_info
*
thread
=
NULL
;
struct
thread_info
*
thread
=
NULL
;
...
...
arch/arm26/kernel/setup.c
View file @
bd824b9f
...
@@ -30,7 +30,6 @@
...
@@ -30,7 +30,6 @@
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>
#include <asm/arch.h>
#include <asm/irqchip.h>
#include <asm/irqchip.h>
#ifndef MEM_SIZE
#ifndef MEM_SIZE
...
@@ -66,6 +65,8 @@ unsigned int system_rev;
...
@@ -66,6 +65,8 @@ unsigned int system_rev;
unsigned
int
system_serial_low
;
unsigned
int
system_serial_low
;
unsigned
int
system_serial_high
;
unsigned
int
system_serial_high
;
unsigned
int
elf_hwcap
;
unsigned
int
elf_hwcap
;
unsigned
int
memc_ctrl_reg
;
unsigned
int
number_mfm_drives
;
struct
processor
processor
;
struct
processor
processor
;
...
@@ -147,33 +148,6 @@ static void __init setup_processor(void)
...
@@ -147,33 +148,6 @@ static void __init setup_processor(void)
cpu_proc_init
();
cpu_proc_init
();
}
}
static
struct
machine_desc
*
__init
setup_machine
(
unsigned
int
nr
)
{
extern
struct
machine_desc
__arch_info_begin
,
__arch_info_end
;
struct
machine_desc
*
list
;
/*
* locate architecture in the list of supported architectures.
*/
for
(
list
=
&
__arch_info_begin
;
list
<
&
__arch_info_end
;
list
++
)
if
(
list
->
nr
==
nr
)
break
;
/*
* If the architecture type is not recognised, then we
* can co nothing...
*/
if
(
list
>=
&
__arch_info_end
)
{
printk
(
"Architecture configuration botched (nr %d), unable "
"to continue.
\n
"
,
nr
);
while
(
1
);
}
printk
(
"Machine: %s
\n
"
,
list
->
name
);
return
list
;
}
/*
/*
* Initial parsing of the command line. We need to pick out the
* Initial parsing of the command line. We need to pick out the
* memory size. We look for mem=size@start, where start and size
* memory size. We look for mem=size@start, where start and size
...
@@ -239,7 +213,7 @@ setup_ramdisk(int doload, int prompt, int image_start, unsigned int rd_sz)
...
@@ -239,7 +213,7 @@ setup_ramdisk(int doload, int prompt, int image_start, unsigned int rd_sz)
}
}
static
void
__init
static
void
__init
request_standard_resources
(
struct
meminfo
*
mi
,
struct
machine_desc
*
mdesc
)
request_standard_resources
(
struct
meminfo
*
mi
)
{
{
struct
resource
*
res
;
struct
resource
*
res
;
int
i
;
int
i
;
...
@@ -274,22 +248,18 @@ request_standard_resources(struct meminfo *mi, struct machine_desc *mdesc)
...
@@ -274,22 +248,18 @@ request_standard_resources(struct meminfo *mi, struct machine_desc *mdesc)
request_resource
(
res
,
&
kernel_data
);
request_resource
(
res
,
&
kernel_data
);
}
}
if
(
mdesc
->
video_start
)
{
/* FIXME - needed?
if (mdesc->video_start) {
video_ram.start = mdesc->video_start;
video_ram.start = mdesc->video_start;
video_ram.end = mdesc->video_end;
video_ram.end = mdesc->video_end;
request_resource(&iomem_resource, &video_ram);
request_resource(&iomem_resource, &video_ram);
}
}
*/
/*
/*
* Some machines don't have the possibility of ever
* Some machines don't have the possibility of ever
* possessing lp
0, lp
1 or lp2
* possessing lp1 or lp2
*/
*/
if
(
mdesc
->
reserve_lp0
)
if
(
0
)
/* FIXME - need to do this for A5k at least */
request_resource
(
&
ioport_resource
,
&
lp0
);
request_resource
(
&
ioport_resource
,
&
lp0
);
if
(
mdesc
->
reserve_lp1
)
request_resource
(
&
ioport_resource
,
&
lp1
);
if
(
mdesc
->
reserve_lp2
)
request_resource
(
&
ioport_resource
,
&
lp2
);
}
}
/*
/*
...
@@ -359,6 +329,15 @@ static int __init parse_tag_videotext(const struct tag *tag)
...
@@ -359,6 +329,15 @@ static int __init parse_tag_videotext(const struct tag *tag)
__tagtable
(
ATAG_VIDEOTEXT
,
parse_tag_videotext
);
__tagtable
(
ATAG_VIDEOTEXT
,
parse_tag_videotext
);
#endif
#endif
static
int
__init
parse_tag_acorn
(
const
struct
tag
*
tag
)
{
memc_ctrl_reg
=
tag
->
u
.
acorn
.
memc_control_reg
;
number_mfm_drives
=
tag
->
u
.
acorn
.
adfsdrives
;
return
0
;
}
__tagtable
(
ATAG_ACORN
,
parse_tag_acorn
);
static
int
__init
parse_tag_ramdisk
(
const
struct
tag
*
tag
)
static
int
__init
parse_tag_ramdisk
(
const
struct
tag
*
tag
)
{
{
setup_ramdisk
((
tag
->
u
.
ramdisk
.
flags
&
1
)
==
0
,
setup_ramdisk
((
tag
->
u
.
ramdisk
.
flags
&
1
)
==
0
,
...
@@ -467,15 +446,18 @@ static struct init_tags {
...
@@ -467,15 +446,18 @@ static struct init_tags {
void
__init
setup_arch
(
char
**
cmdline_p
)
void
__init
setup_arch
(
char
**
cmdline_p
)
{
{
struct
tag
*
tags
=
(
struct
tag
*
)
&
init_tags
;
struct
tag
*
tags
=
(
struct
tag
*
)
&
init_tags
;
struct
machine_desc
*
mdesc
;
char
*
from
=
default_command_line
;
char
*
from
=
default_command_line
;
setup_processor
();
setup_processor
();
mdesc
=
setup_machine
(
machine_arch_type
);
if
(
machine_arch_type
==
MACH_TYPE_A5K
)
machine_name
=
mdesc
->
name
;
machine_name
=
"A5000"
;
else
if
(
machine_arch_type
==
MACH_TYPE_ARCHIMEDES
)
machine_name
=
"Archimedes"
;
else
machine_name
=
"UNKNOWN"
;
if
(
mdesc
->
param_offset
)
//FIXME - this may need altering when we get ROM images working
tags
=
(
struct
tag
*
)
mdesc
->
param_offset
;
//FIXME - ugly?
tags
=
(
struct
tag
*
)
0x0207c000
;
/*
/*
* If we have the old style parameters, convert them to
* If we have the old style parameters, convert them to
...
@@ -501,12 +483,7 @@ void __init setup_arch(char **cmdline_p)
...
@@ -501,12 +483,7 @@ void __init setup_arch(char **cmdline_p)
parse_cmdline
(
&
meminfo
,
cmdline_p
,
from
);
parse_cmdline
(
&
meminfo
,
cmdline_p
,
from
);
bootmem_init
(
&
meminfo
);
bootmem_init
(
&
meminfo
);
paging_init
(
&
meminfo
);
paging_init
(
&
meminfo
);
request_standard_resources
(
&
meminfo
,
mdesc
);
request_standard_resources
(
&
meminfo
);
/*
* Set up various architecture-specific pointers
*/
init_arch_irq
=
mdesc
->
init_irq
;
#ifdef CONFIG_VT
#ifdef CONFIG_VT
#if defined(CONFIG_DUMMY_CONSOLE)
#if defined(CONFIG_DUMMY_CONSOLE)
...
...
arch/arm26/kernel/traps.c
View file @
bd824b9f
...
@@ -175,6 +175,11 @@ void show_trace_task(struct task_struct *tsk)
...
@@ -175,6 +175,11 @@ void show_trace_task(struct task_struct *tsk)
}
}
}
}
/* FIXME - this is probably wrong.. */
void
show_stack
(
struct
task_struct
*
task
,
unsigned
long
*
sp
)
{
dump_mem
(
"Stack: "
,
(
unsigned
long
)
sp
,
8192
+
(
unsigned
long
)
task
->
thread_info
);
}
spinlock_t
die_lock
=
SPIN_LOCK_UNLOCKED
;
spinlock_t
die_lock
=
SPIN_LOCK_UNLOCKED
;
/*
/*
...
@@ -497,7 +502,7 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs)
...
@@ -497,7 +502,7 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs)
die_if_kernel
(
"unknown data abort code"
,
regs
,
instr
);
die_if_kernel
(
"unknown data abort code"
,
regs
,
instr
);
}
}
void
__bug
(
const
char
*
file
,
int
line
,
void
*
data
)
vo
latile
vo
id
__bug
(
const
char
*
file
,
int
line
,
void
*
data
)
{
{
printk
(
KERN_CRIT
"kernel BUG at %s:%d!"
,
file
,
line
);
printk
(
KERN_CRIT
"kernel BUG at %s:%d!"
,
file
,
line
);
if
(
data
)
if
(
data
)
...
...
arch/arm26/lib/Makefile
View file @
bd824b9f
...
@@ -4,9 +4,7 @@
...
@@ -4,9 +4,7 @@
# Copyright (C) 1995-2000 Russell King
# Copyright (C) 1995-2000 Russell King
#
#
L_TARGET
:=
lib.a
lib-y
:=
backtrace.o changebit.o csumipv6.o csumpartial.o
\
obj-y
:=
backtrace.o changebit.o csumipv6.o csumpartial.o
\
csumpartialcopy.o csumpartialcopyuser.o clearbit.o
\
csumpartialcopy.o csumpartialcopyuser.o clearbit.o
\
copy_page.o delay.o findbit.o memchr.o memcpy.o
\
copy_page.o delay.o findbit.o memchr.o memcpy.o
\
memset.o memzero.o setbit.o
\
memset.o memzero.o setbit.o
\
...
@@ -16,15 +14,12 @@ obj-y := backtrace.o changebit.o csumipv6.o csumpartial.o \
...
@@ -16,15 +14,12 @@ obj-y := backtrace.o changebit.o csumipv6.o csumpartial.o \
ucmpdi2.o udivdi3.o lib1funcs.o ecard.o io-acorn.o
\
ucmpdi2.o udivdi3.o lib1funcs.o ecard.o io-acorn.o
\
floppydma.o io-readsb.o io-writesb.o io-writesl.o
\
floppydma.o io-readsb.o io-writesb.o io-writesl.o
\
uaccess-kernel.o uaccess-user.o io-readsw-armv3.o
\
uaccess-kernel.o uaccess-user.o io-readsw-armv3.o
\
io-writesw-armv3.o io-readsl-armv3.o
io-writesw-armv3.o io-readsl-armv3.o ecard.o
\
io-acorn.o floppydma.o
obj-m
:=
obj-n
:=
obj-$(CONFIG_VT)
+=
kbd.o
obj-y
+=
ecard.o io-acorn.o floppydma.o
lib-n
:=
lib-$(CONFIG_VT)
+=
kbd.o
csumpartialcopy.o
:
csumpartialcopygeneric.S
csumpartialcopy.o
:
csumpartialcopygeneric.S
csumpartialcopyuser.o
:
csumpartialcopygeneric.S
csumpartialcopyuser.o
:
csumpartialcopygeneric.S
...
...
arch/arm26/machine/Makefile
View file @
bd824b9f
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
# Object file lists.
# Object file lists.
obj-y
:=
arch.o
dma.o irq.o oldlatches.o
\
obj-y
:=
dma.o irq.o oldlatches.o
\
small_page.o
small_page.o
extra-y
:=
head.o
extra-y
:=
head.o
...
...
arch/arm26/machine/arch.c
deleted
100644 → 0
View file @
d62f5562
/*
* linux/arch/arm26/mach-arc/arch.c
*
* Copyright (C) 1998-2001 Russell King
* Copyright (C) 2003 Ian Molton
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Architecture specific fixups.
*/
#include <linux/config.h>
#include <linux/tty.h>
#include <linux/init.h>
#include <asm/mach-types.h>
#include <asm/hardware.h>
#include <asm/page.h>
#include <asm/setup.h>
#include <asm/map.h>
#include <asm/arch.h>
extern
void
arc_init_irq
(
void
);
#ifdef CONFIG_ARCH_ARC
MACHINE_START
(
ARCHIMEDES
,
"Acorn-Archimedes"
)
#elif defined(CONFIG_ARCH_A5K)
MACHINE_START
(
A5K
,
"Acorn-A5000"
)
#endif
MAINTAINER
(
"Ian Molton"
)
BOOT_PARAMS
(
0x0207c000
)
INITIRQ
(
arc_init_irq
)
MACHINE_END
arch/arm26/machine/irq.c
View file @
bd824b9f
...
@@ -73,7 +73,6 @@ static struct irqchip arc_a_chip = {
...
@@ -73,7 +73,6 @@ static struct irqchip arc_a_chip = {
static
void
arc_mask_irq_b
(
unsigned
int
irq
)
static
void
arc_mask_irq_b
(
unsigned
int
irq
)
{
{
unsigned
int
val
,
mask
;
unsigned
int
val
,
mask
;
mask
=
1
<<
(
irq
&
7
);
mask
=
1
<<
(
irq
&
7
);
val
=
ioc_readb
(
IOC_IRQMASKB
);
val
=
ioc_readb
(
IOC_IRQMASKB
);
ioc_writeb
(
val
&
~
mask
,
IOC_IRQMASKB
);
ioc_writeb
(
val
&
~
mask
,
IOC_IRQMASKB
);
...
@@ -94,7 +93,7 @@ static struct irqchip arc_b_chip = {
...
@@ -94,7 +93,7 @@ static struct irqchip arc_b_chip = {
.
unmask
=
arc_unmask_irq_b
,
.
unmask
=
arc_unmask_irq_b
,
};
};
/* FIXME - JMA none of these functions are used in arm26
/* FIXME - JMA none of these functions are used in arm26
currently
static void arc_mask_irq_fiq(unsigned int irq)
static void arc_mask_irq_fiq(unsigned int irq)
{
{
unsigned int val, mask;
unsigned int val, mask;
...
@@ -124,6 +123,7 @@ void __init arc_init_irq(void)
...
@@ -124,6 +123,7 @@ void __init arc_init_irq(void)
{
{
unsigned
int
irq
,
flags
;
unsigned
int
irq
,
flags
;
/* Disable all IOC interrupt sources */
ioc_writeb
(
0
,
IOC_IRQMASKA
);
ioc_writeb
(
0
,
IOC_IRQMASKA
);
ioc_writeb
(
0
,
IOC_IRQMASKB
);
ioc_writeb
(
0
,
IOC_IRQMASKB
);
ioc_writeb
(
0
,
IOC_FIQMASK
);
ioc_writeb
(
0
,
IOC_FIQMASK
);
...
...
arch/arm26/mm/init.c
View file @
bd824b9f
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
#include <asm/setup.h>
#include <asm/setup.h>
#include <asm/tlb.h>
#include <asm/tlb.h>
#include <asm/arch.h>
//
#include <asm/arch.h>
#include <asm/map.h>
#include <asm/map.h>
#define TABLE_SIZE PTRS_PER_PTE * sizeof(pte_t))
#define TABLE_SIZE PTRS_PER_PTE * sizeof(pte_t))
...
...
arch/arm26/mm/mm-memc.c
View file @
bd824b9f
...
@@ -70,11 +70,9 @@ void free_pgd_slow(pgd_t *pgd)
...
@@ -70,11 +70,9 @@ void free_pgd_slow(pgd_t *pgd)
pgd_t
*
get_pgd_slow
(
struct
mm_struct
*
mm
)
pgd_t
*
get_pgd_slow
(
struct
mm_struct
*
mm
)
{
{
void
*
pg2k
;
pgd_t
*
new_pgd
,
*
init_pgd
;
pgd_t
*
new_pgd
,
*
init_pgd
;
pmd_t
*
new_pmd
,
*
init_pmd
;
pmd_t
*
new_pmd
,
*
init_pmd
;
pte_t
*
new_pte
,
*
init_pte
;
pte_t
*
new_pte
,
*
init_pte
;
struct
mm_struct
bob
;
new_pgd
=
alloc_pgd_table
();
new_pgd
=
alloc_pgd_table
();
if
(
!
new_pgd
)
if
(
!
new_pgd
)
...
...
include/asm-arm26/arch.h
deleted
100644 → 0
View file @
d62f5562
/*
* linux/include/asm-arm/mach/arch.h
*
* Copyright (C) 2000 Russell King
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/*
* The size of struct machine_desc
* (for assembler code)
* FIXME - I count 45... or is this padding?
*/
#define SIZEOF_MACHINE_DESC 48
#ifndef __ASSEMBLY__
struct
tag
;
struct
machine_desc
{
int
nr
;
/* arch no FIXME - get rid */
const
char
*
name
;
/* architecture name */
unsigned
int
param_offset
;
/* parameter page */
unsigned
int
video_start
;
/* start of video RAM */
unsigned
int
video_end
;
/* end of video RAM */
unsigned
int
reserve_lp0
:
1
;
/* never has lp0 */
unsigned
int
reserve_lp1
:
1
;
/* never has lp1 */
unsigned
int
reserve_lp2
:
1
;
/* never has lp2 */
unsigned
int
soft_reboot
:
1
;
/* soft reboot */
void
(
*
fixup
)(
struct
machine_desc
*
,
struct
tag
*
,
char
**
,
struct
meminfo
*
);
void
(
*
map_io
)(
void
);
/* IO mapping function */
void
(
*
init_irq
)(
void
);
};
/*
* Set of macros to define architecture features. This is built into
* a table by the linker.
*/
#define MACHINE_START(_type,_name) \
const struct machine_desc __mach_desc_##_type \
__attribute__((__section__(".arch.info"))) = { \
nr: MACH_TYPE_##_type, \
name: _name,
#define MAINTAINER(n)
#define BOOT_PARAMS(_params) \
param_offset: _params,
#define INITIRQ(_func) \
init_irq: _func,
#define MACHINE_END \
};
#endif
include/asm-arm26/bug.h
View file @
bd824b9f
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
#include <linux/config.h>
#include <linux/config.h>
#ifdef CONFIG_DEBUG_BUGVERBOSE
#ifdef CONFIG_DEBUG_BUGVERBOSE
extern
void
__bug
(
const
char
*
file
,
int
line
,
void
*
data
);
extern
vo
latile
vo
id
__bug
(
const
char
*
file
,
int
line
,
void
*
data
);
/* give file/line information */
/* give file/line information */
#define BUG() __bug(__FILE__, __LINE__, NULL)
#define BUG() __bug(__FILE__, __LINE__, NULL)
...
@@ -18,4 +18,13 @@ extern void __bug(const char *file, int line, void *data);
...
@@ -18,4 +18,13 @@ extern void __bug(const char *file, int line, void *data);
#endif
#endif
#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
#define WARN_ON(condition) do { \
if (unlikely((condition)!=0)) { \
printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \
dump_stack(); \
} \
} while (0)
#endif
#endif
include/asm-arm26/bugs.h
View file @
bd824b9f
/*
/*
* linux/include/asm-arm/bugs.h
* linux/include/asm-arm
26
/bugs.h
*
*
* Copyright (C) 1995 Russell King
* Copyright (C) 1995 Russell King
*
*
...
...
include/asm-arm26/ecard.h
View file @
bd824b9f
...
@@ -26,6 +26,9 @@
...
@@ -26,6 +26,9 @@
#define PROD_ACORN_ETHER1 0x0003
#define PROD_ACORN_ETHER1 0x0003
#define PROD_ACORN_MFM 0x000b
#define PROD_ACORN_MFM 0x000b
#define MANU_CCONCEPTS 0x0009
#define PROD_CCONCEPTS_COLOURCARD 0x0050
#define MANU_ANT2 0x0011
#define MANU_ANT2 0x0011
#define PROD_ANT_ETHER3 0x00a4
#define PROD_ANT_ETHER3 0x00a4
...
...
include/asm-arm26/mach-types.h
View file @
bd824b9f
/*
/*
* Unlike ARM32 this is NOT automatically generated. DONT delete it
* Unlike ARM32 this is NOT automatically generated. DONT delete it
* Instead, consider FIXME-ing it so its auto-detected.
*/
*/
#ifndef __ASM_ARM_MACH_TYPE_H
#ifndef __ASM_ARM_MACH_TYPE_H
...
...
include/asm-arm26/pgalloc.h
View file @
bd824b9f
...
@@ -55,9 +55,9 @@ pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, pte_t *ptep)
...
@@ -55,9 +55,9 @@ pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, pte_t *ptep)
* is thrown away. It just cant be zero. -IM
* is thrown away. It just cant be zero. -IM
*/
*/
#define pmd_alloc_one(mm,addr) (
(pmd_t *)2); BUG(
)
#define pmd_alloc_one(mm,addr) (
{ BUG(); ((pmd_t *)2); }
)
#define pmd_free(pmd) do { } while (0)
#define pmd_free(pmd) do { } while (0)
#define pgd_populate(mm,pmd,pte)
(0
)
#define pgd_populate(mm,pmd,pte)
BUG(
)
extern
pgd_t
*
get_pgd_slow
(
struct
mm_struct
*
mm
);
extern
pgd_t
*
get_pgd_slow
(
struct
mm_struct
*
mm
);
extern
void
free_pgd_slow
(
pgd_t
*
pgd
);
extern
void
free_pgd_slow
(
pgd_t
*
pgd
);
...
...
include/asm-arm26/pgtable.h
View file @
bd824b9f
...
@@ -179,7 +179,7 @@ extern struct page *empty_zero_page;
...
@@ -179,7 +179,7 @@ extern struct page *empty_zero_page;
/* Is pmd_page supposed to return a pointer to a page in some arches? ours seems to
/* Is pmd_page supposed to return a pointer to a page in some arches? ours seems to
* return a pointer to memory (no special alignment)
* return a pointer to memory (no special alignment)
*/
*/
#define pmd_page(pmd) ((
unsigned long
)(pmd_val((pmd)) & ~_PMD_PRESENT))
#define pmd_page(pmd) ((
struct page *
)(pmd_val((pmd)) & ~_PMD_PRESENT))
#define pmd_page_kernel(pmd) ((pte_t *)(pmd_val((pmd)) & ~_PMD_PRESENT))
#define pmd_page_kernel(pmd) ((pte_t *)(pmd_val((pmd)) & ~_PMD_PRESENT))
#define pte_offset_kernel(dir,addr) (pmd_page_kernel(*(dir)) + __pte_index(addr))
#define pte_offset_kernel(dir,addr) (pmd_page_kernel(*(dir)) + __pte_index(addr))
...
...
include/asm-arm26/statfs.h
View file @
bd824b9f
#ifndef _ASMARM_STATFS_H
#ifndef _ASMARM_STATFS_H
#define _ASMARM_STATFS_H
#define _ASMARM_STATFS_H
#ifndef __KERNEL_STRICT_NAMES
//FIXME - this may not be appropriate for arm26. check it out.
#include <linux/types.h>
#include <asm-generic/statfs.h>
typedef
__kernel_fsid_t
fsid_t
;
#endif
struct
statfs
{
long
f_type
;
long
f_bsize
;
long
f_blocks
;
long
f_bfree
;
long
f_bavail
;
long
f_files
;
long
f_ffree
;
__kernel_fsid_t
f_fsid
;
long
f_namelen
;
long
f_spare
[
6
];
};
#endif
#endif
include/asm-arm26/thread_info.h
View file @
bd824b9f
...
@@ -85,7 +85,7 @@ static inline struct thread_info *current_thread_info(void)
...
@@ -85,7 +85,7 @@ static inline struct thread_info *current_thread_info(void)
//#define INIT_THREAD_SIZE (65536)
//#define INIT_THREAD_SIZE (65536)
#define __get_user_regs(x) (((struct pt_regs *)((unsigned long)(x) + THREAD_SIZE - 8)) - 1)
#define __get_user_regs(x) (((struct pt_regs *)((unsigned long)(x) + THREAD_SIZE - 8)) - 1)
extern
struct
thread_info
*
alloc_thread_info
(
void
);
extern
struct
thread_info
*
alloc_thread_info
(
struct
task_struct
*
task
);
extern
void
free_thread_info
(
struct
thread_info
*
);
extern
void
free_thread_info
(
struct
thread_info
*
);
#define get_thread_info(ti) get_task_struct((ti)->task)
#define get_thread_info(ti) get_task_struct((ti)->task)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment