summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/mips
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-25 14:53:33 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-26 07:17:57 +0200
commita5bf9b66b0748d34d25df7c2b20f4b5bc7670d70 (patch)
tree64509e96078cdf43441d4b8dddab6c6cc574cb80 /c/src/lib/libbsp/mips
parent3460c5228637b784edf68011d0e15d3f65517d61 (diff)
downloadrtems-a5bf9b66b0748d34d25df7c2b20f4b5bc7670d70.tar.bz2
bsps/mips: Move liblnk to bsps
This patch is a part of the BSP source reorganization. Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/mips')
-rw-r--r--c/src/lib/libbsp/mips/hurricane/Makefile.am4
-rw-r--r--c/src/lib/libbsp/mips/rbtx4925/Makefile.am4
-rw-r--r--c/src/lib/libbsp/mips/rbtx4938/Makefile.am4
-rw-r--r--c/src/lib/libbsp/mips/shared/liblnk/lnklib.S62
-rw-r--r--c/src/lib/libbsp/mips/shared/liblnk/pmon.S180
5 files changed, 6 insertions, 248 deletions
diff --git a/c/src/lib/libbsp/mips/hurricane/Makefile.am b/c/src/lib/libbsp/mips/hurricane/Makefile.am
index ae8e599f4f..c5def9d4b4 100644
--- a/c/src/lib/libbsp/mips/hurricane/Makefile.am
+++ b/c/src/lib/libbsp/mips/hurricane/Makefile.am
@@ -36,8 +36,8 @@ librtemsbsp_a_SOURCES +=../../../../../../bsps/mips/hurricane/clock/ckinit.c
# console
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/hurricane/console/console.c
# liblnk
-librtemsbsp_a_SOURCES += ../shared/liblnk/lnklib.S
-librtemsbsp_a_SOURCES += ../shared/liblnk/pmon.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/liblnk/lnklib.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/liblnk/pmon.S
#isr
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/irq/vectorexceptions.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/irq/irq.c
diff --git a/c/src/lib/libbsp/mips/rbtx4925/Makefile.am b/c/src/lib/libbsp/mips/rbtx4925/Makefile.am
index 42be304001..875f1be03f 100644
--- a/c/src/lib/libbsp/mips/rbtx4925/Makefile.am
+++ b/c/src/lib/libbsp/mips/rbtx4925/Makefile.am
@@ -35,8 +35,8 @@ librtemsbsp_a_SOURCES +=../../../../../../bsps/mips/rbtx4925/clock/clockdrv.c
# console
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/rbtx4925/console/console-io.c
# liblnk
-librtemsbsp_a_SOURCES += ../shared/liblnk/lnklib.S
-librtemsbsp_a_SOURCES += ../shared/liblnk/pmon.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/liblnk/lnklib.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/liblnk/pmon.S
#isr
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/irq/vectorexceptions.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/irq/irq.c
diff --git a/c/src/lib/libbsp/mips/rbtx4938/Makefile.am b/c/src/lib/libbsp/mips/rbtx4938/Makefile.am
index 2eeb2d39b5..2208638930 100644
--- a/c/src/lib/libbsp/mips/rbtx4938/Makefile.am
+++ b/c/src/lib/libbsp/mips/rbtx4938/Makefile.am
@@ -36,8 +36,8 @@ librtemsbsp_a_SOURCES +=../../../../../../bsps/mips/rbtx4938/clock/clockdrv.c
# console
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/rbtx4938/console/console-io.c
# liblnk
-librtemsbsp_a_SOURCES += ../shared/liblnk/lnklib.S
-librtemsbsp_a_SOURCES += ../shared/liblnk/pmon.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/liblnk/lnklib.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/liblnk/pmon.S
#isr
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/irq/vectorexceptions.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/mips/shared/irq/irq.c
diff --git a/c/src/lib/libbsp/mips/shared/liblnk/lnklib.S b/c/src/lib/libbsp/mips/shared/liblnk/lnklib.S
deleted file mode 100644
index 315ec3c014..0000000000
--- a/c/src/lib/libbsp/mips/shared/liblnk/lnklib.S
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * lnklib.S
- */
-
-#include <rtems/mips/iregdef.h>
-#include <rtems/mips/idtcpu.h>
-
-#define FRAME(name,frm_reg,offset,ret_reg) \
- .globl name; \
- .ent name; \
-name:; \
- .frame frm_reg,offset,ret_reg
-
-#define ENDFRAME(name) \
- .end name
-
-#define PROM_LINK(name,entry) \
- .globl name; \
- .ent name; \
-name: la $2,+entry; \
- j $2; \
- .end name
-
-#define PROM_ENTRY(x) (0xbfc00000+((x)*8))
-
-#define PROM_RESET PROM_ENTRY(0)
-#define PROM_NOT_IMP PROM_ENTRY(1)
-#define PROM_RESTART PROM_ENTRY(2)
-#define PROM_REINIT PROM_ENTRY(3)
-#define PROM_GETCHAR PROM_ENTRY(11)
-#define PROM_PUTCHAR PROM_ENTRY(12)
-#define PROM_SHOWCHAR PROM_ENTRY(13)
-#define PROM_PRINTF PROM_ENTRY(16)
-#define PROM_RETURN PROM_ENTRY(17)
-
-#define PROM_RGETS PROM_ENTRY(25)
-#define PROM_FLUSHCACHE PROM_ENTRY(28)
-#define PROM_CLEARCACHE PROM_ENTRY(29)
-#define PROM_SETJMP PROM_ENTRY(30)
-#define PROM_LONGJMP PROM_ENTRY(31)
-
- .text
-
-PROM_LINK(idtsim_putchar, PROM_PUTCHAR)
-PROM_LINK(idtsim_getchar, PROM_GETCHAR)
-PROM_LINK(idtsim_showchar, PROM_SHOWCHAR)
-PROM_LINK(idtsim__exit, PROM_RETURN)
-PROM_LINK(idtsim_reinit, PROM_REINIT)
-PROM_LINK(idtsim_restart, PROM_RESTART)
-PROM_LINK(idtsim_reset, PROM_RESET)
-PROM_LINK(idtsim_promexit, PROM_RETURN)
-PROM_LINK(idtsim_setjmp, PROM_SETJMP)
-PROM_LINK(idtsim_longjmp, PROM_LONGJMP)
-
-FRAME(idtsim_init_sbrk,sp,0,ra)
- j ra
-ENDFRAME(idtsim_init_sbrk)
-
-FRAME(idtsim_init_file,sp,0,ra)
- j ra
-ENDFRAME(idtsim_init_file)
-
diff --git a/c/src/lib/libbsp/mips/shared/liblnk/pmon.S b/c/src/lib/libbsp/mips/shared/liblnk/pmon.S
deleted file mode 100644
index 206cfe9a57..0000000000
--- a/c/src/lib/libbsp/mips/shared/liblnk/pmon.S
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * pmon.S -- low-level entry points into PMON monitor.
- *
- * Copyright (c) 1996, 1997 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#if __mips < 3
- /* This machine does not support 64-bit operations. */
- #define ADDU addu
- #define SUBU subu
-#else
- /* This machine supports 64-bit operations. */
- #define ADDU daddu
- #define SUBU dsubu
-#endif
-
-#include <bsp/regs.h>
-
- .text
- .align 2
-
-#ifdef LSI
- #define PMON_VECTOR 0xbfc00200
-#else
- #define PMON_VECTOR 0xbfc00500
-#endif
-
-#ifndef __mips_eabi
-/* Provide named functions for entry into the monitor: */
-#define INDIRECT(name,index) \
- .globl name; \
- .ent name; \
- .set noreorder; \
-name: la $2,+(PMON_VECTOR+((index)*4)); \
- lw $2,0($2); \
- j $2; \
- nop; \
- .set reorder; \
- .end name
-
-#else
-#define INDIRECT(name,index) \
- .globl name; \
- .ent name; \
- .set noreorder; \
-name: la $2,+(PMON_VECTOR+((index)*4)); \
- lw $2,0($2); \
- SUBU sp,sp,0x40; \
- sd ra,0x38(sp); \
- sd fp,0x30(sp); \
- jal $2; \
- move fp,sp; \
- ld ra,0x38(sp); \
- ld fp,0x30(sp); \
- j ra; \
- ADDU sp,sp,0x40; \
- .set reorder; \
- .end name
-#endif
-
-
-/* The following magic numbers are for the slots into the PMON monitor */
-/* The first are used as the lo-level library run-time: */
-INDIRECT(mon_read,0)
-INDIRECT(mon_write,1)
-INDIRECT(mon_open,2)
-INDIRECT(mon_close,3)
-/* The following are useful monitor routines: */
-INDIRECT(mon_ioctl,4)
-INDIRECT(mon_printf,5)
-INDIRECT(mon_vsprintf,6)
-INDIRECT(mon_ttctl,7)
-INDIRECT(mon_cliexit,8)
-INDIRECT(mon_getenv,9)
-INDIRECT(mon_onintr,10)
-INDIRECT(mon_flush_cache,11)
-INDIRECT(mon_exception,12)
-INDIRECT(mon_fpgaconfig,21)
-
-#if 0
-
-/* The following routine is required by the "print()" function: */
- .globl pmon_outbyte
- .ent pmon_outbyte
- .set noreorder
-pmon_outbyte:
- subu sp,sp,0x20 /* allocate stack space for string */
- sd ra,0x18(sp) /* stack return address */
- sd fp,0x10(sp) /* stack frame-pointer */
- move fp,sp /* take a copy of the stack pointer */
- /* We leave so much space on the stack for the string (16
- characters), since the call to mon_printf seems to corrupt
- the 8bytes at offset 8 into the string/stack. */
- sb a0,0x00(sp) /* character to print */
- sb z0,0x01(sp) /* NUL terminator */
- jal mon_printf /* and output the string */
- move a0,sp /* take a copy of the string pointer {DELAY SLOT} */
-
- move sp,fp /* recover stack pointer */
- ld ra,0x18(sp) /* recover return address */
- ld fp,0x10(sp) /* recover frame-pointer */
- j ra /* return to the caller */
- addu sp,sp,0x20 /* dump the stack space {DELAY SLOT} */
- .set reorder
- .end pmon_outbyte
-
-/* The following routine is required by the "sbrk()" function: */
- .globl get_mem_info
- .ent get_mem_info
- .set noreorder
-get_mem_info:
- # in: a0 = pointer to 3 word structure
- # out: void
- subu sp,sp,0x18 /* create some stack space */
- sd ra,0x00(sp) /* stack return address */
- sd fp,0x08(sp) /* stack frame-pointer */
- sd a0,0x10(sp) /* stack structure pointer */
- move fp,sp /* take a copy of the stack pointer */
-
- # The monitor has already sized memory, but unfortunately we
- # do not have access to the data location containing the
- # memory size.
-
- jal __sizemem
- nop
-
- ld a0,0x10(sp) # recover structure pointer
- sw v0,0(a0) # amount of memory available
-
- # Deal with getting the cache size information:
- mfc0 a1, C0_CONFIG
- nop
- nop
- andi a2,a1,0x7 << 9 # bits 11..9 for instruction cache size
- sll a2,a2,12 - 8
- sw a2,4(a0)
- andi a2,a1,0x7 << 6 # bits 8..6 for data cache size
- sll a2,a2,12 - 5
- sw a2,8(a0) # data cache size
- #
- move sp,fp /* recover stack pointer */
- ld ra,0x00(sp) /* recover return address */
- ld fp,0x08(sp) /* recover frame-pointer */
- j ra /* return to the caller */
- addu sp,sp,0x18 /* restore stack pointer {DELAY SLOT} */
- .set reorder
- .end get_mem_info
-
-#ifdef LSI
-
-# For the LSI MiniRISC board, we can safely assume that we have
-# at least one megabyte of RAM.
-
- .globl __sizemem
- .ent __sizemem
-__sizemem:
- li v0,0x100000
- j ra
- .end __sizemem
-#else
-
-#endif
-
-#endif
-/* EOF pmon.S */