diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-10-24 21:50:37 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-10-24 21:50:37 +0000 |
commit | 86748ff7edf2cf2fd7e0ed629641f370bd6096c0 (patch) | |
tree | 102b00c789a8f5389df7da496167509daeb69fc7 /c/src/lib/libbsp/mips/p4000 | |
parent | 2000-10-24 Alan Cudmore <alanc@linuxstart.com> and (diff) | |
download | rtems-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.
Diffstat (limited to 'c/src/lib/libbsp/mips/p4000')
-rw-r--r-- | c/src/lib/libbsp/mips/p4000/ChangeLog | 18 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/p4000/console/led.S | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/p4000/start/start.S | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/p4000/startup/idtmem.S | 16 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/p4000/startup/idttlb.S | 28 |
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 ** |