Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99eb8a55 authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds
Browse files

Remove the arm26 port



The arm26 port has been in a state where it was far from even compiling
for quite some time.

Ian Molton agreed with the removal.

Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
Cc: Ian Molton <spyro@f2s.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0d0ed42e
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -387,21 +387,6 @@ P: Jaya Kumar
M:	jayalk@intworks.biz
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:	Ian Molton
M:	spyro@f2s.com
+0 −1
Original line number Diff line number Diff line
@@ -9,5 +9,4 @@ nwfpe-y += fpa11.o fpa11_cpdo.o fpa11_cpdt.o \
				   softfloat.o single_cpdo.o double_cpdo.o

nwfpe-$(CONFIG_FPE_NWFPE_XP)	+= extended_cpdo.o
nwfpe-$(CONFIG_CPU_26)		+= entry26.o
nwfpe-$(CONFIG_CPU_32)		+= entry.o

arch/arm/nwfpe/entry26.S

deleted100644 → 0
+0 −112
Original line number Diff line number Diff line
/*
    NetWinder Floating Point Emulator
    (c) Rebel.COM, 1998
    (c) Philip Blundell 1998-1999

    Direct questions, comments to Scott Bambrough <scottb@netwinder.org>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#include <asm/asm-offsets.h>

/* This is the kernel's entry point into the floating point emulator.
It is called from the kernel with code similar to this:

	mov	fp, #0
	teqp	pc, #PSR_I_BIT | SVC_MODE
	ldr	r4, .LC2
	ldr	pc, [r4]		@ Call FP module USR entry point

The kernel expects the emulator to return via one of two possible
points of return it passes to the emulator.  The emulator, if
successful in its emulation, jumps to ret_from_exception and the
kernel takes care of returning control from the trap to the user code.
If the emulator is unable to emulate the instruction, it returns to
fpundefinstr and the kernel halts the user program with a core dump.

This routine does four things:

1) It saves SP into a variable called userRegisters.  The kernel has
created a struct pt_regs on the stack and saved the user registers
into it.  See /usr/include/asm/proc/ptrace.h for details.  The
emulator code uses userRegisters as the base of an array of words from
which the contents of the registers can be extracted.

2) It locates the FP emulator work area within the TSS structure and
points `fpa11' to it.

3) It calls EmulateAll to emulate a floating point instruction.
EmulateAll returns 1 if the emulation was successful, or 0 if not.

4) If an instruction has been emulated successfully, it looks ahead at
the next instruction.  If it is a floating point instruction, it
executes the instruction, without returning to user space.  In this
way it repeatedly looks ahead and executes floating point instructions
until it encounters a non floating point instruction, at which time it
returns via _fpreturn.

This is done to reduce the effect of the trap overhead on each
floating point instructions.  GCC attempts to group floating point
instructions to allow the emulator to spread the cost of the trap over
several floating point instructions.  */

	.globl	nwfpe_enter
nwfpe_enter:
	mov	sl, sp
	ldr	r5, [sp, #60]		@ get contents of PC
	bic	r5, r5, #0xfc000003
	ldr	r0, [r5, #-4]		@ get actual instruction into r0
	bl	EmulateAll		@ emulate the instruction
1:	cmp	r0, #0			@ was emulation successful
	beq	fpundefinstr		@ no, return failure

next:
.Lx1:	ldrt	r6, [r5], #4		@ get the next instruction and
					@ increment PC

	and	r2, r6, #0x0F000000	@ test for FP insns
	teq	r2, #0x0C000000
	teqne	r2, #0x0D000000
	teqne	r2, #0x0E000000
	bne	ret_from_exception	@ return ok if not a fp insn

	ldr	r9, [sp, #60]		@ get new condition codes
	and	r9, r9, #0xfc000003
	orr	r7, r5, r9
	str	r7, [sp, #60]		@ update PC copy in regs

	mov	r0, r6			@ save a copy
	mov	r1, r9			@ fetch the condition codes
	bl	checkCondition		@ check the condition
	cmp	r0, #0			@ r0 = 0 ==> condition failed

	@ if condition code failed to match, next insn
	beq	next			@ get the next instruction;

	mov	r0, r6			@ prepare for EmulateAll()
	adr	lr, 1b
	orr	lr, lr, #3
	b	EmulateAll		@ if r0 != 0, goto EmulateAll

.Lret:	b	ret_from_exception	@ let the user eat segfaults
	
	@ We need to be prepared for the instruction at .Lx1 to fault.
	@ Emit the appropriate exception gunk to fix things up.
	.section __ex_table,"a"
	.align	3
	.long	.Lx1
	ldr	lr, [lr, $(.Lret - .Lx1)/4]
	.previous

arch/arm26/ACKNOWLEDGEMENTS

deleted100644 → 0
+0 −29
Original line number Diff line number Diff line
The work in this architecture (ARM26) is that of a great many people.

This is what has happened:

I [Ian Molton] have been trying to repair the ARM26 architecture support, but it has become an impossible task whilst it is still merged with the ARM32 (arch/arm) code. The ARM26 code is too different to be sensible to keep with the ARM32 code now, and Russell King really doesnt have the time to maintain the ARM26 code. Add to that that most ARM32 developers dont know about or care about ARM26 when writing patches, and you have a reall mess.

As a result, I've split it off into a new architecture of its own. I've named it arm26 since these CPUs have only a 26 bit address space, unlike the other ARMs.

The upheaval in moving around so many source files and chopping out vasty ammounts of cruft was enormous, and the copyright of many files is sometimes unclear. Because of this, I am writing this, in order that no-one is left out / misaccredited / blamed for any of the code.

People I KNOW have made major contributions to the code:

David Alan Gilbert (former maintainer of ARM26 bits)
Philip Blundell
Russell King
Keith Owens

also thanks to Nicholas Pitre for hints, and for the basis or our XIP support.

Currently maintaing the code are

Ian Molton (Maintainer / Archimedes)
John Appleby (kernel / A5K)

If anyone has a problem with attributions in header files / source files, please do contact me to straighten things out.

Ian Molton (aka spyro)  -  ARM26 maintainer
spyro@f2s.com

arch/arm26/Kconfig

deleted100644 → 0
+0 −253
Original line number Diff line number Diff line
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

mainmenu "Linux Kernel Configuration"

config ARM
	bool
	default y

config ARM26
	bool
	default y

config MMU
	bool
	default y

config NO_DMA
	def_bool y

config ARCH_ACORN
        bool
        default y

config CPU_26
        bool
        default y

config FIQ
        bool
        default y

# 9 = 512 pages 8 = 256 pages 7 = 128 pages
config FORCE_MAX_ZONEORDER
        int
        default 9

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

config ARCH_HAS_ILOG2_U32
	bool
	default n

config ARCH_HAS_ILOG2_U64
	bool
	default n

config GENERIC_HWEIGHT
	bool
	default y

config GENERIC_CALIBRATE_DELAY
	bool
	default y

config ZONE_DMA
	bool
	default y

config GENERIC_ISA_DMA
	bool

config ARCH_MAY_HAVE_PC_FDC
	bool

source "init/Kconfig"


menu "System Type"

choice
	prompt "Archimedes/A5000 Implementations"

config ARCH_ARC
        bool "Archimedes"
        help
          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"
	select ARCH_MAY_HAVE_PC_FDC
        help
          Say Y here 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 (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
          machine with 4MB of memory.
endchoice
endmenu

config ISA_DMA_API
	bool
	default y

menu "General setup"

# Compressed boot loader in ROM.  Yes, we really want to ask about
# TEXT and BSS so we preserve their values in the config files.
config ZBOOT_ROM
	bool "Compressed boot loader in ROM/flash"
	help
	  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
	depends on ZBOOT_ROM
	hex "Compressed ROM boot loader base address"
	default "0"
	help
	  The base address for zImage.  Unless you have special requirements, you
	  should not change this value.

config ZBOOT_ROM_BSS
	depends on ZBOOT_ROM
	hex "Compressed ROM boot loader BSS address"
	default "0"
	help
	  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.

config XIP_KERNEL
	bool "Execute In Place (XIP) kernel image"
	help
	  Select this option to create a kernel that can be programmed into
	  the OS ROMs.

comment "At least one math emulation must be selected"

config FPE_NWFPE
	tristate "NWFPE math emulation"
	---help---
	  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 module.

	  It is also possible to say M to build the emulator as a module
	  (nwfpe) 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.

source "fs/Kconfig.binfmt"

config PREEMPT
	bool "Preemptible Kernel (EXPERIMENTAL)"
	depends on CPU_32 && EXPERIMENTAL
	help
	  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 ARTHUR
	tristate "RISC OS personality"
	depends on CPU_32
	help
	  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).

config CMDLINE
	string "Default kernel command string"
	default ""
	help
	  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).

source "mm/Kconfig"

endmenu

source "net/Kconfig"

source "drivers/base/Kconfig"

source "drivers/parport/Kconfig"

source "drivers/pnp/Kconfig"

source "drivers/block/Kconfig"

source "drivers/md/Kconfig"

source "drivers/net/Kconfig"

source "drivers/ide/Kconfig"

source "drivers/scsi/Kconfig"

source "drivers/isdn/Kconfig"

#
# input before char - char/joystick depends on it. As does USB.
#
source "drivers/input/Kconfig"

source "drivers/char/Kconfig"

source "drivers/media/Kconfig"

source "fs/Kconfig"

source "drivers/video/Kconfig"

if ARCH_ACORN

source "sound/Kconfig"

endif

source "drivers/misc/Kconfig"

source "drivers/usb/Kconfig"

source "arch/arm26/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"
Loading