aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/dec/boot/Makefile12
-rw-r--r--arch/mips/dec/boot/decstation.c84
-rw-r--r--arch/mips/dec/boot/ld.ecoff43
3 files changed, 0 insertions, 139 deletions
diff --git a/arch/mips/dec/boot/Makefile b/arch/mips/dec/boot/Makefile
deleted file mode 100644
index bcea41698ef5..000000000000
--- a/arch/mips/dec/boot/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
1#
2# Makefile for the DECstation family specific parts of the kernel
3#
4
5netboot: all
6 $(LD) -N -G 0 -T ld.ecoff ../../boot/zImage \
7 dec_boot.o ramdisk.img -o nbImage
8
9obj-y := decstation.o
10
11clean:
12 rm -f nbImage
diff --git a/arch/mips/dec/boot/decstation.c b/arch/mips/dec/boot/decstation.c
deleted file mode 100644
index 4db8bacaf22d..000000000000
--- a/arch/mips/dec/boot/decstation.c
+++ /dev/null
@@ -1,84 +0,0 @@
1/*
2 * arch/mips/dec/decstation.c
3 */
4#include <asm/sections.h>
5
6#define RELOC
7#define INITRD
8#define DEBUG_BOOT
9
10/*
11 * Magic number indicating REX PROM available on DECSTATION.
12 */
13#define REX_PROM_MAGIC 0x30464354
14
15#define REX_PROM_CLEARCACHE 0x7c/4
16#define REX_PROM_PRINTF 0x30/4
17
18#define VEC_RESET 0xBFC00000 /* Prom base address */
19#define PMAX_PROM_ENTRY(x) (VEC_RESET+((x)*8)) /* Prom jump table */
20#define PMAX_PROM_PRINTF PMAX_PROM_ENTRY(17)
21
22#define PARAM (k_start + 0x2000)
23
24#define LOADER_TYPE (*(unsigned char *) (PARAM+0x210))
25#define INITRD_START (*(unsigned long *) (PARAM+0x218))
26#define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c))
27
28extern int _ftext; /* begin and end of kernel image */
29extern void kernel_entry(int, char **, unsigned long, int *);
30
31void * memcpy(void * dest, const void *src, unsigned int count)
32{
33 unsigned long *tmp = (unsigned long *) dest, *s = (unsigned long *) src;
34
35 count >>= 2;
36 while (count--)
37 *tmp++ = *s++;
38
39 return dest;
40}
41
42void dec_entry(int argc, char **argv,
43 unsigned long magic, int *prom_vec)
44{
45 void (*rex_clear_cache)(void);
46 int (*prom_printf)(char *, ...);
47 unsigned long k_start, len;
48
49 /*
50 * The DS5100 leaves cpu with BEV enabled, clear it.
51 */
52 asm( "lui\t$8,0x3000\n\t"
53 "mtc0\t$8,$12\n\t"
54 ".section\t.sdata\n\t"
55 ".section\t.sbss\n\t"
56 ".section\t.text"
57 : : : "$8");
58
59#ifdef DEBUG_BOOT
60 if (magic == REX_PROM_MAGIC) {
61 prom_printf = (int (*)(char *, ...)) *(prom_vec + REX_PROM_PRINTF);
62 } else {
63 prom_printf = (int (*)(char *, ...)) PMAX_PROM_PRINTF;
64 }
65 prom_printf("Launching kernel...\n");
66#endif
67
68 k_start = (unsigned long) (&kernel_entry) & 0xffff0000;
69
70#ifdef RELOC
71 /*
72 * Now copy kernel image to its destination.
73 */
74 len = ((unsigned long) (&_end) - k_start);
75 memcpy((void *)k_start, &_ftext, len);
76#endif
77
78 if (magic == REX_PROM_MAGIC) {
79 rex_clear_cache = (void (*)(void)) * (prom_vec + REX_PROM_CLEARCACHE);
80 rex_clear_cache();
81 }
82
83 kernel_entry(argc, argv, magic, prom_vec);
84}
diff --git a/arch/mips/dec/boot/ld.ecoff b/arch/mips/dec/boot/ld.ecoff
deleted file mode 100644
index aaa633dfb5f7..000000000000
--- a/arch/mips/dec/boot/ld.ecoff
+++ /dev/null
@@ -1,43 +0,0 @@
1OUTPUT_FORMAT("ecoff-littlemips")
2OUTPUT_ARCH(mips)
3ENTRY(dec_entry)
4SECTIONS
5{
6 . = 0x80200000;
7
8 .text :
9 {
10 _ftext = .;
11 *(.text)
12 *(.fixup)
13 }
14 .rdata :
15 {
16 *(.rodata .rodata.* .rdata)
17 }
18 .data :
19 {
20 . = ALIGN(0x1000);
21 ramdisk.img (.data)
22 *(.data)
23 }
24 .sdata :
25 {
26 *(.sdata)
27 }
28 _gp = .;
29 .sbss :
30 {
31 *(.sbss)
32 *(.scommon)
33 }
34 .bss :
35 {
36 *(.dynbss)
37 *(.bss)
38 *(COMMON)
39 }
40 /DISCARD/ : {
41 *(.reginfo .mdebug .note)
42 }
43}