Changeset 8536b67 in rtems
- Timestamp:
- 10/08/14 20:06:52 (9 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 6279149
- Parents:
- 037b57a
- git-author:
- Joel Sherrill <joel.sherrill@…> (10/08/14 20:06:52)
- git-committer:
- Joel Sherrill <joel.sherrill@…> (10/10/14 15:16:57)
- Location:
- c/src/lib
- Files:
-
- 10 edited
- 5 moved
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/mips/genmongoosev/Makefile.am
r037b57a r8536b67 17 17 nodist_include_HEADERS = include/bspopts.h 18 18 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h 19 nodist_include_bsp_HEADERS += include/lr33000.h 20 nodist_include_bsp_HEADERS += include/lr333x0.h 21 nodist_include_bsp_HEADERS += include/mongoose-v.h 22 nodist_include_bsp_HEADERS += include/r3000.h 23 nodist_include_bsp_HEADERS += console/mg5uart.h 19 24 DISTCLEANFILES = include/bspopts.h 20 25 noinst_PROGRAMS = … … 48 53 # console 49 54 libbsp_a_SOURCES += console/conscfg.c 55 libbsp_a_SOURCES += console/mg5uart.c 50 56 libbsp_a_SOURCES += ../../shared/console.c 51 57 libbsp_a_SOURCES += ../../shared/console_select.c … … 76 82 libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/shared/cache.rel 77 83 libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/interrupts.rel 78 libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/mongoosev/duart.rel79 84 80 85 include $(srcdir)/preinstall.am -
c/src/lib/libbsp/mips/genmongoosev/README
r037b57a r8536b67 1 1 BSP supporting the on-CPU capabilities of the Synova Mongoose-V. 2 This BSP assumes that basic HW initialization is performed by 3 PMON. 2 The Synova Mongoose-V is a radiation hardened derivative of the 3 LSI 33K with on-CPU peripherals. 4 5 This BSP assumes that basic HW initialization is performed by PMON. 6 7 Status 8 ====== 9 Per-task floating point enable/disable is supported for both immediate 10 and deferred FPU context swaps. 11 12 Interrupt Levels are adapted reasonably well to the MIPS interrupt 13 model. Bit 0 of the int level is a global enable/disable, corresponding 14 to bit 0 of the processor's SR register. Bits 1 thru 6 are configured 15 as masks for the Int0 thru Int5 interrupts. The 2 software interrupt 16 bits are always enabled by default. Each task maintains its own 17 Interrupt Level setting, reconfiguring the SR register's interrupt bits 18 whenever scheduled in. The software ints, though not addressable via 19 the various Interrupt Level functions, are maintained on a per-task 20 basis, so if software manipulates them directly, things should behave as 21 expected. At the time of these udpates, the Interrupt Level was only 8 22 bits, and completely supporting the global enable, software ints and the 23 hardware ints would require 9 bits. When more than 8 bits are 24 available, there is no reason the software interrupts could not be added 25 to the Interrupt Level. 26 27 While supporting the Int0 thru Int5 bits in this way doesn't seem 28 wonderfully useful, it does increase the level of compliance with the 29 RTEMS spec. 30 31 Interrupt Level 0 corresponds to interrupts globally enabled, software 32 ints enabled and Int0 thru Int5 enabled. If values other than 0 are 33 supplied, they should be formulated to impose the desired bitmask. 34 Interrupt priority is not a strong concept on this bsp, it is provided 35 only by the order in which interrupts are checked. 36 37 If during the vectoring of an interrupt, others arrive, they will all be 38 processed in accordance with their ordering in SR & the peripheral 39 register. For example, if while we're vectoring Int4, Int3 and Int5 are 40 asserted, Int3 will be serviced before Int5. The peripheral interrupts 41 are individually vectored as a consequence of Int5 being asserted, 42 however Int5 is not itself vectored. Within the set of peripheral 43 interrupts, bit 0 is vectored first, 31 is last. 44 45 Interrupts are not nested for MIPS1 or MIPS3 processors, but are 46 processed serially as possible. On an unloaded 50 task RTEMS program, 47 runnning on a 12mhz MIPS1 processor, worst-case latencies of 100us were 48 observed, the average being down at 60us or below. 49 50 51 These features are principally a consequence of fixes and tweaks to the 52 MIPS1 and MIPS3 processor support, and should be equally effective on 53 both levels of MIPS processors for any of their bsp's. 4 54 5 55 Address Map -
c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c
r037b57a r8536b67 22 22 23 23 #include <libchip/serial.h> 24 #include < libchip/mg5uart.h>24 #include <bsp/mg5uart.h> 25 25 26 26 /* #define CONSOLE_USE_INTERRUPTS */ -
c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.c
r037b57a r8536b67 21 21 22 22 #include <libchip/serial.h> 23 #include <libchip/mg5uart.h>24 23 #include <libchip/sersupp.h> 25 #include <libcpu/mongoose-v.h> 24 #include <bsp/mg5uart.h> 25 #include <bsp/mongoose-v.h> 26 26 27 27 #include <bsp/irq.h> -
c/src/lib/libbsp/mips/genmongoosev/include/bsp.h
r037b57a r8536b67 29 29 #include <rtems/console.h> 30 30 #include <rtems/clockdrv.h> 31 #include < libcpu/mongoose-v.h>31 #include <bsp/mongoose-v.h> 32 32 33 33 #define BSP_FEATURE_IRQ_EXTENSION -
c/src/lib/libbsp/mips/genmongoosev/irq/vectorisrs.c
r037b57a r8536b67 16 16 #include <rtems.h> 17 17 #include <stdlib.h> 18 #include < libcpu/mongoose-v.h>18 #include <bsp/mongoose-v.h> 19 19 20 20 #include <rtems/mips/iregdef.h> -
c/src/lib/libbsp/mips/genmongoosev/preinstall.am
r037b57a r8536b67 70 70 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h 71 71 72 $(PROJECT_INCLUDE)/bsp/lr33000.h: include/lr33000.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 73 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lr33000.h 74 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lr33000.h 75 76 $(PROJECT_INCLUDE)/bsp/lr333x0.h: include/lr333x0.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 77 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lr333x0.h 78 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lr333x0.h 79 80 $(PROJECT_INCLUDE)/bsp/mongoose-v.h: include/mongoose-v.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 81 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/mongoose-v.h 82 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/mongoose-v.h 83 84 $(PROJECT_INCLUDE)/bsp/r3000.h: include/r3000.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 85 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/r3000.h 86 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/r3000.h 87 88 $(PROJECT_INCLUDE)/bsp/mg5uart.h: console/mg5uart.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 89 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/mg5uart.h 90 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/mg5uart.h 91 72 92 $(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp) 73 93 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h -
c/src/lib/libbsp/mips/genmongoosev/startup/bspstart.c
r037b57a r8536b67 24 24 25 25 #include <bsp.h> 26 #include < libcpu/mongoose-v.h>26 #include <bsp/mongoose-v.h> 27 27 #include <libcpu/isr_entries.h> 28 28 #include <bsp/irq-generic.h> -
c/src/lib/libbsp/mips/genmongoosev/startup/gdb-support.c
r037b57a r8536b67 12 12 #include <rtems.h> 13 13 #include <rtems/bspIo.h> 14 #include < libcpu/mongoose-v.h>14 #include <bsp/mongoose-v.h> 15 15 #include "gdb_if.h" 16 16 -
c/src/lib/libcpu/mips/Makefile.am
r037b57a r8536b67 32 32 endif 33 33 34 if mongoosev35 interrupts_CPPFLAGS = -DMONGOOSEV36 endif37 38 34 noinst_PROGRAMS += shared/interrupts.rel 39 35 shared_interrupts_rel_SOURCES = shared/interrupts/installisrentries.c \ … … 42 38 shared_interrupts_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) 43 39 include_libcpu_HEADERS += shared/interrupts/isr_entries.h 44 45 EXTRA_DIST += mongoosev/README46 EXTRA_DIST += mongoosev/duart/README.mguart47 if mongoosev48 include_libcpu_HEADERS += mongoosev/include/mongoose-v.h49 50 ## mongoosev/duart51 include_libchipdir = $(includedir)/libchip52 include_libchip_HEADERS = mongoosev/duart/mg5uart.h53 54 noinst_PROGRAMS += mongoosev/duart.rel55 mongoosev_duart_rel_SOURCES = mongoosev/duart/mg5uart.c \56 mongoosev/duart/mg5uart.h mongoosev/duart/mg5uart_reg.c57 mongoosev_duart_rel_CPPFLAGS = $(AM_CPPFLAGS)58 mongoosev_duart_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)59 60 endif61 40 62 41 if tx39 -
c/src/lib/libcpu/mips/preinstall.am
r037b57a r8536b67 27 27 PREINSTALL_FILES += $(PROJECT_INCLUDE)/libcpu/isr_entries.h 28 28 29 if mongoosev30 $(PROJECT_INCLUDE)/libcpu/mongoose-v.h: mongoosev/include/mongoose-v.h $(PROJECT_INCLUDE)/libcpu/$(dirstamp)31 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libcpu/mongoose-v.h32 PREINSTALL_FILES += $(PROJECT_INCLUDE)/libcpu/mongoose-v.h33 34 $(PROJECT_INCLUDE)/libchip/$(dirstamp):35 @$(MKDIR_P) $(PROJECT_INCLUDE)/libchip36 @: > $(PROJECT_INCLUDE)/libchip/$(dirstamp)37 PREINSTALL_DIRS += $(PROJECT_INCLUDE)/libchip/$(dirstamp)38 39 $(PROJECT_INCLUDE)/libchip/mg5uart.h: mongoosev/duart/mg5uart.h $(PROJECT_INCLUDE)/libchip/$(dirstamp)40 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libchip/mg5uart.h41 PREINSTALL_FILES += $(PROJECT_INCLUDE)/libchip/mg5uart.h42 endif43 29 if tx39 44 30 $(PROJECT_INCLUDE)/libcpu/tx3904.h: tx39/include/tx3904.h $(PROJECT_INCLUDE)/libcpu/$(dirstamp)
Note: See TracChangeset
for help on using the changeset viewer.