]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] ARM26 architecture update
authorIan Molton <spyro@f2s.com>
Mon, 7 Jul 2003 06:29:28 +0000 (23:29 -0700)
committerSteve French <cifs.adm@hostme.bitkeeper.com>
Mon, 7 Jul 2003 06:29:28 +0000 (23:29 -0700)
29 files changed:
MAINTAINERS
arch/arm26/Config.help [deleted file]
arch/arm26/Kconfig
arch/arm26/config.in [deleted file]
arch/arm26/kernel/Makefile
arch/arm26/kernel/arch.c [deleted file]
arch/arm26/kernel/asm-offsets.c
arch/arm26/kernel/compat.c
arch/arm26/kernel/dma.c
arch/arm26/kernel/ecard.c
arch/arm26/kernel/irq.c
arch/arm26/kernel/process.c
arch/arm26/kernel/setup.c
arch/arm26/kernel/traps.c
arch/arm26/lib/Makefile
arch/arm26/machine/Makefile
arch/arm26/machine/arch.c [deleted file]
arch/arm26/machine/irq.c
arch/arm26/mm/init.c
arch/arm26/mm/mm-memc.c
include/asm-arm26/arch.h [deleted file]
include/asm-arm26/bug.h
include/asm-arm26/bugs.h
include/asm-arm26/ecard.h
include/asm-arm26/mach-types.h
include/asm-arm26/pgalloc.h
include/asm-arm26/pgtable.h
include/asm-arm26/statfs.h
include/asm-arm26/thread_info.h

index c4bb8d3ae788652434bd0af6dbbe5b5ee10c73d7..6590dd21b50932562d87ff443895beb324002213 100644 (file)
@@ -245,6 +245,21 @@ M: jschlst@samba.org
 L:     linux-atalk@lists.netspace.org
 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
 P:     Dave Gilbert
 M:     linux@treblig.org
diff --git a/arch/arm26/Config.help b/arch/arm26/Config.help
deleted file mode 100644 (file)
index a2a7f13..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-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.
-
index b62382271dadfff4e057ad3530bd8486177f2a99..31d2e5de2c322349a978bcb7e3c667dfd999c79a 100644 (file)
@@ -8,15 +8,8 @@ mainmenu "Linux Kernel Configuration"
 config ARM
        bool
        default y
-       help
-         The ARM series is a line of low-power-consumption RISC chip designs
-         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
+
+config ARM26
        bool
        default y
 
@@ -67,25 +60,25 @@ comment "Archimedes/A5000 Implementations (select only ONE)"
 
 config ARCH_ARC
         bool "Archimedes"
-        depends on ARCH_ARCA5K
         help
-          The Acorn Archimedes was an personal computer based on an 8K 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>.
+          Say Y to support the Acorn Archimedes.
+         
+         The Acorn Archimedes was an personal computer based on an 8MHz ARM2
+          processor, released in 1987.  It supported up to 16MB of RAM in
+         later models and floppy, harddisc, ethernet etc.
 
 config ARCH_A5K
         bool "A5000"
-        depends on ARCH_ARCA5K
         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,
           and the floppy drive.  Note that on some A5000s the floppy is
           plugged into the wrong socket on the motherboard.
 
 config PAGESIZE_16
-        bool "2MB physical memory"
-        depends on ARCH_ARCA5K
+        bool "2MB physical memory (broken)"
         help
           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
@@ -186,81 +179,7 @@ config KCORE_AOUT
 
 endchoice
 
-config BINFMT_AOUT
-       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.
+source "fs/Kconfig.binfmt"
 
 config PREEMPT
        bool "Preemptible Kernel (EXPERIMENTAL)"
@@ -311,59 +230,8 @@ source "net/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"
 
-endmenu
-
-
 source "drivers/scsi/Kconfig"
 
 source "drivers/isdn/Kconfig"
diff --git a/arch/arm26/config.in b/arch/arm26/config.in
deleted file mode 100644 (file)
index 006a435..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-#
-# 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
index 01b44b589dc8caf8afff092158e49c1bbb6617d5..59a75ea9a8dd29c7edb69f0f08415330ac08efed 100644 (file)
@@ -6,7 +6,7 @@ ENTRY_OBJ = entry.o
 
 # 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 \
                   time.o traps.o ecard.o time-acorn.o dma.o \
                   ecard.o fiq.o time.o
diff --git a/arch/arm26/kernel/arch.c b/arch/arm26/kernel/arch.c
deleted file mode 100644 (file)
index 186de4f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* 
- *  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);
-
index 1e87648847373de730000b02a236cf9f2b584cab..b8d0442de9b5f1f4de8e2684f60420075ba3ed1b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 1995-2001 Russell King
  *               2001-2002 Keith Owens
- *               2003-?    Ian Molton
+ *               2003      Ian Molton
  *     
  * Generate definitions needed by assembly language modules.
  * This code generates raw asm output which is post-processed to extract
index 0f8644fe6a86f7adf0cea1873da4dc3c908aa05f..e3717ab1c043e7ae7eaa5c564dc8fcd2f73c340a 100644 (file)
@@ -26,7 +26,7 @@
 #include <asm/mach-types.h>
 #include <asm/page.h>
 
-#include <asm/arch.h>
+//#include <asm/arch.h>
 //#include <asm/mach/irq.h>
 
 /*
index a6ae4e23651dbd6ea75b2571db81f40084d2c391..b4b8c7c4bbe8a78b2e57819327abfefcebf338a3 100644 (file)
@@ -2,7 +2,7 @@
  *  linux/arch/arm/kernel/dma.c
  *
  *  Copyright (C) 1995-2000 Russell King
- *                2003-?    Ian Molton
+ *                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
index d69497a928113edd1a6e27515ab6e10ece0f560f..b57a2e6b87eb4c0e7eb536cba27b68e0af0ca076 100644 (file)
@@ -11,9 +11,8 @@
  *  Find all installed expansion cards, and handle interrupts from them.
  *
  *  Created from information from Acorns RiscOS3 PRMs
- *
- *  08-Dec-1996        RMK     Added code for the 9'th expansion card - the ether
- *                     podule slot.
+ *  15-Jun-2003 IM      Modified from ARM32 (RiscPC capable) version
+ *  10-Jan-1999        RMK     Run loaders in a simulated RISC OS environment.
  *  06-May-1997        RMK     Added blacklist for cards whose loader doesn't work.
  *  12-Sep-1997        RMK     Created new handling of interrupt enables/disables
  *                     - cards can now register their own routine to control
  *  29-Sep-1997        RMK     Expansion card interrupt hardware not being re-enabled
  *                     on reset from Linux. (Caused cards not to respond
  *                     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
 
@@ -527,8 +523,7 @@ static int ecard_prints(char *buffer, ecard_t *ec)
 {
        char *start = buffer;
 
-       buffer += sprintf(buffer, "  %d: %s ", ec->slot_no,
-                         ec->type == ECARD_EASI ? "EASI" : "    ");
+       buffer += sprintf(buffer, "  %d: ", ec->slot_no);
 
        if (ec->cid.id == 0) {
                struct in_chunk_dir incd;
@@ -674,7 +669,7 @@ ecard_probe(int slot, card_type_t type)
        memset(ec, 0, sizeof(ecard_t));
 
        ec->slot_no     = slot;
-       ec->type        = type;
+       ec->type        = type;
        ec->irq         = NO_IRQ;
        ec->fiq         = NO_IRQ;
        ec->dma         = NO_DMA;
@@ -770,9 +765,8 @@ static int __init ecard_init(void)
 
        printk("Probing expansion cards\n");
 
-       for (slot = 0; slot < 8; slot ++) {
-               if (ecard_probe(slot, ECARD_EASI) == -ENODEV)
-                       ecard_probe(slot, ECARD_IOC);
+       for (slot = 0; slot < 4; slot ++) {
+               ecard_probe(slot, ECARD_IOC);
        }
 
        irqhw = ecard_probeirqhw();
index 3b4965a281931939384612dba0c2222da534a61d..ddd2ea591afd3486560982282bd153e6363c07c8 100644 (file)
@@ -41,7 +41,7 @@
  * not be set too low to prevent false triggering.  Conversely, if it
  * 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
 
@@ -49,7 +49,6 @@ static volatile unsigned long irq_err_count;
 static spinlock_t irq_controller_lock = SPIN_LOCK_UNLOCKED;
 
 struct irqdesc irq_desc[NR_IRQS];
-void (*init_arch_irq)(void) __initdata = NULL;
 
 /*
  * Dummy mask/unmask handler
@@ -88,7 +87,6 @@ void disable_irq(unsigned int irq)
 {
        struct irqdesc *desc = irq_desc + irq;
        unsigned long flags;
-
        spin_lock_irqsave(&irq_controller_lock, flags);
        if (!desc->depth++)
                desc->enabled = 0;
@@ -114,7 +112,7 @@ void enable_irq(unsigned int irq)
        spin_lock_irqsave(&irq_controller_lock, flags);
        if (unlikely(!desc->depth)) {
                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) {
                desc->probing = 0;
                desc->enabled = 1;
@@ -187,7 +185,6 @@ __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs)
        unsigned int status;
 
        spin_unlock(&irq_controller_lock);
-
        if (!(action->flags & SA_INTERRUPT))
                local_irq_enable();
 
@@ -700,6 +697,6 @@ void __init init_IRQ(void)
        for (irq = 0, desc = irq_desc; irq < NR_IRQS; irq++, desc++)
                *desc = bad_irq_desc;
 
-       init_arch_irq();
+       arc_init_irq();
        init_dma();
 }
index 6a4283a301992865f18a2674d0f43b9f126406ea..bf8e0367be8876441d59042b669dc33a4807e4dc 100644 (file)
@@ -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_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;
 
index f4523c16ae0f6c88aa6f7a51e801248866de94e2..a5e07d757be7dd7b8081a10e0650bac4dd84b12c 100644 (file)
@@ -30,7 +30,6 @@
 #include <asm/mach-types.h>
 #include <asm/tlbflush.h>
 
-#include <asm/arch.h>
 #include <asm/irqchip.h>
 
 #ifndef MEM_SIZE
@@ -66,6 +65,8 @@ unsigned int system_rev;
 unsigned int system_serial_low;
 unsigned int system_serial_high;
 unsigned int elf_hwcap;
+unsigned int memc_ctrl_reg;
+unsigned int number_mfm_drives;
 
 struct processor processor;
 
@@ -147,33 +148,6 @@ static void __init setup_processor(void)
        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
  * 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)
 }
 
 static void __init
-request_standard_resources(struct meminfo *mi, struct machine_desc *mdesc)
+request_standard_resources(struct meminfo *mi)
 {
        struct resource *res;
        int i;
@@ -274,22 +248,18 @@ request_standard_resources(struct meminfo *mi, struct machine_desc *mdesc)
                        request_resource(res, &kernel_data);
        }
 
-       if (mdesc->video_start) {
+/*     FIXME - needed? if (mdesc->video_start) {
                video_ram.start = mdesc->video_start;
                video_ram.end   = mdesc->video_end;
                request_resource(&iomem_resource, &video_ram);
-       }
+       }*/
 
        /*
         * Some machines don't have the possibility of ever
-        * possessing lp0, lp1 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);
-       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)
 __tagtable(ATAG_VIDEOTEXT, parse_tag_videotext);
 #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)
 {
        setup_ramdisk((tag->u.ramdisk.flags & 1) == 0,
@@ -467,15 +446,18 @@ static struct init_tags {
 void __init setup_arch(char **cmdline_p)
 {
        struct tag *tags = (struct tag *)&init_tags;
-       struct machine_desc *mdesc;
        char *from = default_command_line;
 
        setup_processor();
-       mdesc = setup_machine(machine_arch_type);
-       machine_name = mdesc->name;
+       if(machine_arch_type == MACH_TYPE_A5K)
+               machine_name = "A5000";
+       else if(machine_arch_type == MACH_TYPE_ARCHIMEDES)
+               machine_name = "Archimedes";
+       else
+               machine_name = "UNKNOWN";
 
-       if (mdesc->param_offset)
-               tags = (struct tag *)mdesc->param_offset; //FIXME - ugly?
+       //FIXME - this may need altering when we get ROM images working
+       tags = (struct tag *)0x0207c000;
 
        /*
         * If we have the old style parameters, convert them to
@@ -501,12 +483,7 @@ void __init setup_arch(char **cmdline_p)
        parse_cmdline(&meminfo, cmdline_p, from);
        bootmem_init(&meminfo);
        paging_init(&meminfo);
-       request_standard_resources(&meminfo, mdesc);
-
-       /*
-        * Set up various architecture-specific pointers
-        */
-       init_arch_irq = mdesc->init_irq;
+       request_standard_resources(&meminfo);
 
 #ifdef CONFIG_VT
 #if defined(CONFIG_DUMMY_CONSOLE)
index eaf86c9fedd1d54566bfe275de3e834f8e6276cd..d0e1bc6cf4742776b42102ae3320c68c175a4ff5 100644 (file)
@@ -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;
 
 /*
@@ -497,7 +502,7 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs)
        die_if_kernel("unknown data abort code", regs, instr);
 }
 
-void __bug(const char *file, int line, void *data)
+volatile void __bug(const char *file, int line, void *data)
 {
        printk(KERN_CRIT"kernel BUG at %s:%d!", file, line);
        if (data)
index d327dc7f385e262e0ed3a1ef44ff548a50165ab4..d05d6b0fd3e22173e30834e54078e0020e5c10fd 100644 (file)
@@ -4,9 +4,7 @@
 # Copyright (C) 1995-2000 Russell King
 #
 
-L_TARGET       := lib.a
-
-obj-y          := backtrace.o changebit.o csumipv6.o csumpartial.o   \
+lib-y          := backtrace.o changebit.o csumipv6.o csumpartial.o   \
                   csumpartialcopy.o csumpartialcopyuser.o clearbit.o \
                   copy_page.o delay.o findbit.o memchr.o memcpy.o    \
                   memset.o memzero.o setbit.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 \
                   floppydma.o io-readsb.o io-writesb.o io-writesl.o  \
                   uaccess-kernel.o uaccess-user.o io-readsw-armv3.o  \
-                  io-writesw-armv3.o io-readsl-armv3.o
-
-obj-m          :=
-obj-n          :=
-
-obj-$(CONFIG_VT)+= kbd.o
+                  io-writesw-armv3.o io-readsl-armv3.o ecard.o       \
+                  io-acorn.o floppydma.o
 
-obj-y          += ecard.o io-acorn.o floppydma.o
+lib-n          :=
 
+lib-$(CONFIG_VT)+= kbd.o
 
 csumpartialcopy.o: csumpartialcopygeneric.S
 csumpartialcopyuser.o: csumpartialcopygeneric.S
index f1211f9c9827617761639d606aceb9acc2ce9c70..84642febab44fc3c440d5f7c242f5a415fc4fe07 100644 (file)
@@ -4,7 +4,7 @@
 
 # Object file lists.
 
-obj-y                  := arch.o dma.o irq.o oldlatches.o \
+obj-y                  := dma.o irq.o oldlatches.o \
                           small_page.o
 
 extra-y                := head.o
diff --git a/arch/arm26/machine/arch.c b/arch/arm26/machine/arch.c
deleted file mode 100644 (file)
index 410c285..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  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
-
index 1c5f88fb2e526a02d4b2b9a860fe57ab136eb46f..158a7d29efbcaa02e170e7b5288d72114b8f2171 100644 (file)
@@ -73,7 +73,6 @@ static struct irqchip arc_a_chip = {
 static void arc_mask_irq_b(unsigned int irq)
 {
        unsigned int val, mask;
-
        mask = 1 << (irq & 7);
        val = ioc_readb(IOC_IRQMASKB);
        ioc_writeb(val & ~mask, IOC_IRQMASKB);
@@ -94,7 +93,7 @@ static struct irqchip arc_b_chip = {
         .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)
 {
        unsigned int val, mask;
@@ -124,6 +123,7 @@ void __init arc_init_irq(void)
 {
        unsigned int irq, flags;
 
+       /* Disable all IOC interrupt sources */
        ioc_writeb(0, IOC_IRQMASKA);
        ioc_writeb(0, IOC_IRQMASKB);
        ioc_writeb(0, IOC_FIQMASK);
index 01c772bef70ed7bf5d92ad58546dbea7333c2705..989f08c19c62929c8aec3bfb373b5f7a5adc5ff0 100644 (file)
@@ -32,7 +32,7 @@
 #include <asm/setup.h>
 #include <asm/tlb.h>
 
-#include <asm/arch.h>
+//#include <asm/arch.h>
 #include <asm/map.h>
 
 #define TABLE_SIZE     PTRS_PER_PTE * sizeof(pte_t))
index 15ec20e2750ce9d482e07f297bdac3ab9aa69f6b..6b3d3ae806f4d9532448961b64ab881c1300ea4a 100644 (file)
@@ -70,11 +70,9 @@ void free_pgd_slow(pgd_t *pgd)
 
 pgd_t *get_pgd_slow(struct mm_struct *mm)
 {
-       void *pg2k;
        pgd_t *new_pgd, *init_pgd;
        pmd_t *new_pmd, *init_pmd;
        pte_t *new_pte, *init_pte;
-       struct mm_struct bob;
 
        new_pgd = alloc_pgd_table();
        if (!new_pgd)
diff --git a/include/asm-arm26/arch.h b/include/asm-arm26/arch.h
deleted file mode 100644 (file)
index 1011bcc..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *  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
index a92b1bc8eb1ee2712c8425b64865a78dc4946676..a1afde728b034262e6841831159d5dddac362a61 100644 (file)
@@ -4,7 +4,7 @@
 #include <linux/config.h>
 
 #ifdef CONFIG_DEBUG_BUGVERBOSE
-extern void __bug(const char *file, int line, void *data);
+extern volatile void __bug(const char *file, int line, void *data);
 
 /* give file/line information */
 #define BUG()          __bug(__FILE__, __LINE__, NULL)
@@ -18,4 +18,13 @@ extern void __bug(const char *file, int line, void *data);
 
 #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
index 665ab62c27ce360835f49efb727a6914d734fba8..e99ac2e46d7fc2d75937baa00ba63ed3f756a62c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  linux/include/asm-arm/bugs.h
+ *  linux/include/asm-arm26/bugs.h
  *
  *  Copyright (C) 1995  Russell King
  *
index 28af14fd7f759e8b516b5b5b1a0664e996dcd5b4..8318a0c1df81aa626e8acab592bc84bc0a8eb738 100644 (file)
@@ -26,6 +26,9 @@
 #define PROD_ACORN_ETHER1              0x0003
 #define PROD_ACORN_MFM                 0x000b
 
+#define MANU_CCONCEPTS         0x0009
+#define PROD_CCONCEPTS_COLOURCARD      0x0050
+
 #define MANU_ANT2              0x0011
 #define PROD_ANT_ETHER3                        0x00a4
 
index 514b8032696c6dc3e3d2979deb70a9a2aa2c4267..b34045b78128e534887cafdc97875bc7c43fc5ce 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * 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
index bf2e19512524d7507b567327cf9757cbf4efa150..6437167b1ffe7f2988b3d00d54084f66067640d1 100644 (file)
@@ -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
  */
 
-#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 pgd_populate(mm,pmd,pte)       (0)
+#define pgd_populate(mm,pmd,pte)       BUG()
 
 extern pgd_t *get_pgd_slow(struct mm_struct *mm);
 extern void free_pgd_slow(pgd_t *pgd);
index a6ac3957b0becbca4cff14a6de2b40403bedd893..3fb067eaf801211b2f32517a32fbf54139c93c28 100644 (file)
@@ -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
  * 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 pte_offset_kernel(dir,addr)     (pmd_page_kernel(*(dir)) + __pte_index(addr))
index a1eba73ded99123c861f30db83f7fcfcb8240dbc..776dbc8f7623b634903f93be4fac5322c61d28f5 100644 (file)
@@ -1,25 +1,8 @@
 #ifndef _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>
-
-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];
-};
+#include <asm-generic/statfs.h>
 
 #endif
index 3f298bf9206ac7cbe6e00c61cdd609bf7f20e562..24c5136484fb48a36ef2aa72385f0521eea4de5e 100644 (file)
@@ -85,7 +85,7 @@ static inline struct thread_info *current_thread_info(void)
 //#define INIT_THREAD_SIZE        (65536)
 #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 *);
 
 #define get_thread_info(ti)    get_task_struct((ti)->task)