summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-10-24 21:50:37 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-10-24 21:50:37 +0000
commit86748ff7edf2cf2fd7e0ed629641f370bd6096c0 (patch)
tree102b00c789a8f5389df7da496167509daeb69fc7
parentfda47cd1b90921c52ec995ec946560c51307c553 (diff)
downloadrtems-86748ff7edf2cf2fd7e0ed629641f370bd6096c0.tar.bz2
2000-10-24 Alan Cudmore <alanc@linuxstart.com> and
Joel Sherrill <joel@OARcorp.com> * This is a major reworking of the mips64orion port to use gcc predefines as much as possible and a big push to multilib the mips port. The mips64orion port was copied/renamed to mips to be more like other GNU tools. Alan did most of the technical work of determining how to map old macro names used by the mips64orion port to standard compiler macro definitions. Joel did the merge with CVS magic to keep individual file history and did the BSP modifications. Details follow: * console/led.S: Switch from using <idtmon.h> to <asm.h>. * console/start.S: Switch from using <idtmon.h> to <asm.h>. Added define of PMON stacksize. * console/idtmem.S: Switch from using <idtmon.h> to <asm.h>. Also reworked conditionals to use gcc predefines. * console/idttlb.S: Ditto.
-rw-r--r--c/src/lib/libbsp/mips/p4000/ChangeLog18
-rw-r--r--c/src/lib/libbsp/mips/p4000/console/led.S2
-rw-r--r--c/src/lib/libbsp/mips/p4000/start/start.S8
-rw-r--r--c/src/lib/libbsp/mips/p4000/startup/idtmem.S16
-rw-r--r--c/src/lib/libbsp/mips/p4000/startup/idttlb.S28
5 files changed, 48 insertions, 24 deletions
diff --git a/c/src/lib/libbsp/mips/p4000/ChangeLog b/c/src/lib/libbsp/mips/p4000/ChangeLog
index 0d3dc91cad..a5a0aa15da 100644
--- a/c/src/lib/libbsp/mips/p4000/ChangeLog
+++ b/c/src/lib/libbsp/mips/p4000/ChangeLog
@@ -1,3 +1,21 @@
+2000-10-24 Alan Cudmore <alanc@linuxstart.com> and
+ Joel Sherrill <joel@OARcorp.com>
+
+ * This is a major reworking of the mips64orion port to use
+ gcc predefines as much as possible and a big push to multilib
+ the mips port. The mips64orion port was copied/renamed to mips
+ to be more like other GNU tools. Alan did most of the technical
+ work of determining how to map old macro names used by the mips64orion
+ port to standard compiler macro definitions. Joel did the merge
+ with CVS magic to keep individual file history and did the BSP
+ modifications. Details follow:
+ * console/led.S: Switch from using <idtmon.h> to <asm.h>.
+ * console/start.S: Switch from using <idtmon.h> to <asm.h>. Added
+ define of PMON stacksize.
+ * console/idtmem.S: Switch from using <idtmon.h> to <asm.h>. Also
+ reworked conditionals to use gcc predefines.
+ * console/idttlb.S: Ditto.
+
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* console/Makefile.am, liblnk/Makefile.am, start/Makefile.am,
diff --git a/c/src/lib/libbsp/mips/p4000/console/led.S b/c/src/lib/libbsp/mips/p4000/console/led.S
index 5efd85f81a..6df054faf5 100644
--- a/c/src/lib/libbsp/mips/p4000/console/led.S
+++ b/c/src/lib/libbsp/mips/p4000/console/led.S
@@ -3,8 +3,8 @@
*/
#include <iregdef.h>
-#include <idtmon.h>
#include <idtcpu.h>
+#include <asm.h>
FRAME(mips_leddisplay,sp,0,ra)
diff --git a/c/src/lib/libbsp/mips/p4000/start/start.S b/c/src/lib/libbsp/mips/p4000/start/start.S
index 88646f520f..2f35543a99 100644
--- a/c/src/lib/libbsp/mips/p4000/start/start.S
+++ b/c/src/lib/libbsp/mips/p4000/start/start.S
@@ -33,7 +33,7 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
**************************************************************************/
#include <iregdef.h>
#include <idtcpu.h>
-#include <idtmon.h>
+#include <asm.h>
.extern _fbss,4 /* this is defined by the linker */
@@ -212,6 +212,12 @@ FRAME(start,sp,0,ra)
#endif
+/*
+ * P_STACKSIZE is the size of the Prom Stack.
+ * the prom stack grows downward
+ */
+#define P_STACKSIZE 0x2000 /* sets stack size to 8k */
+
/**************************************************************************
**
diff --git a/c/src/lib/libbsp/mips/p4000/startup/idtmem.S b/c/src/lib/libbsp/mips/p4000/startup/idtmem.S
index e562c3b820..19b7bc581a 100644
--- a/c/src/lib/libbsp/mips/p4000/startup/idtmem.S
+++ b/c/src/lib/libbsp/mips/p4000/startup/idtmem.S
@@ -40,7 +40,7 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
#include <iregdef.h>
#include <idtcpu.h>
-#include <idtmon.h>
+#include <asm.h>
.data
mem_size:
@@ -48,14 +48,14 @@ mem_size:
dcache_size:
.word 0
icache_size:
-#if defined(CPU_R3000)
+#if __mips == 1
.word MINCACHE
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
.word 0
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
.data
scache_size:
.word 0
@@ -70,7 +70,7 @@ scache_linesize:
.text
-#if defined (CPU_R3000)
+#if __mips == 1
#define CONFIGFRM ((2*4)+4)
/*************************************************************************
@@ -402,9 +402,9 @@ FRAME(get_mem_conf,sp,0,ra)
j ra
ENDFRAME(get_mem_conf)
-#endif /* defined CPU_R3000 */
+#endif /* __mips == 1 */
-#if defined(CPU_R4000)
+#if __mips == 3
#define LEAF(label) FRAME(label,sp,0,ra)
#define XLEAF(label) \
.globl label ; \
@@ -922,7 +922,7 @@ FRAME(get_mem_conf,sp,0,ra)
ENDFRAME(get_mem_conf)
-#endif /* defined(CPU_R4000) */
+#endif /* __mips == 3 */
/*
* void set_mem_size (mem_size)
diff --git a/c/src/lib/libbsp/mips/p4000/startup/idttlb.S b/c/src/lib/libbsp/mips/p4000/startup/idttlb.S
index 6a6a5b79d4..c26be9897b 100644
--- a/c/src/lib/libbsp/mips/p4000/startup/idttlb.S
+++ b/c/src/lib/libbsp/mips/p4000/startup/idttlb.S
@@ -32,12 +32,12 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT
/* 950308: Ketan patched a few tlb functions that would not have worked.*/
#include <iregdef.h>
#include <idtcpu.h>
-#include <idtmon.h>
+#include <asm.h>
.text
-#if defined(CPU_R3000)
+#if __mips == 1
/*
** ret_tlblo -- returns the 'entrylo' contents for the TLB
** 'c' callable - as ret_tlblo(index) - where index is the
@@ -64,7 +64,7 @@ FRAME(ret_tlblo,sp,0,ra)
.set reorder
ENDFRAME(ret_tlblo)
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
/*
** ret_tlblo[01] -- returns the 'entrylo' contents for the TLB
** 'c' callable - as ret_tlblo(index) - where index is the
@@ -142,7 +142,7 @@ ENDFRAME(ret_tlbwired)
** index
*/
FRAME(ret_tlbhi,sp,0,ra)
-#if defined(CPU_R3000)
+#if __mips == 1
.set noreorder
mfc0 t0,C0_SR # save sr
nop
@@ -161,7 +161,7 @@ FRAME(ret_tlbhi,sp,0,ra)
nop
.set reorder
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
mfc0 t0,C0_SR # save sr
mtc0 zero,C0_SR # disable interrupts
mfc0 t1,C0_TLBHI # save current pid
@@ -184,7 +184,7 @@ ENDFRAME(ret_tlbhi)
** ret_tlbpid() -- return tlb pid contained in the current entry hi
*/
FRAME(ret_tlbpid,sp,0,ra)
-#if defined(CPU_R3000)
+#if __mips == 1
.set noreorder
mfc0 v0,C0_TLBHI # fetch tlb high
nop
@@ -194,7 +194,7 @@ FRAME(ret_tlbpid,sp,0,ra)
nop
.set reorder
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
mfc0 v0,C0_TLBHI # to return value
nop
and v0,TLBHI_PIDMASK
@@ -214,7 +214,7 @@ ENDFRAME(ret_tlbpid)
** returns an index value (0-63) if successful -1 -f not
*/
FRAME(tlbprobe,sp,0,ra)
-#if defined(CPU_R3000)
+#if __mips == 1
.set noreorder
mfc0 t0,C0_SR /* fetch status reg */
and a0,TLBHI_VPNMASK /* isolate just the vpn */
@@ -240,7 +240,7 @@ FRAME(tlbprobe,sp,0,ra)
nop
.set reorder
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
mfc0 t0,C0_SR # save sr
mtc0 zero,C0_SR # disable interrupts
mfc0 t1,C0_TLBHI # save current pid
@@ -269,7 +269,7 @@ ENDFRAME(tlbprobe)
** resettlb(index) Invalidate the TLB entry specified by index
*/
FRAME(resettlb,sp,0,ra)
-#if defined(CPU_R3000)
+#if __mips == 1
.set noreorder
mfc0 t0,C0_TLBHI # fetch the current hi
mfc0 v0,C0_SR # fetch the status reg.
@@ -289,7 +289,7 @@ FRAME(resettlb,sp,0,ra)
nop
.set reorder
#endif
-#if defined(CPU_R4000)
+#if __mips == 3
li t2,K0BASE&TLBHI_VPN2MASK
mfc0 t0,C0_TLBHI # save current TLBHI
mfc0 v0,C0_SR # save SR and disable interrupts
@@ -311,7 +311,7 @@ FRAME(resettlb,sp,0,ra)
#endif
ENDFRAME(resettlb)
-#if defined(CPU_R3000)
+#if __mips == 1
/*
** Setup TLB entry
**
@@ -340,8 +340,8 @@ FRAME(map_tlb,sp,0,ra)
nop
.set reorder
ENDFRAME(map_tlb)
- #endif
-#if defined(CPU_R4000)
+#endif
+#if __mips == 3
/*
** Setup R4000 TLB entry
**