summaryrefslogtreecommitdiffstats
path: root/spec (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* score: Move _Thread_queue_Queue_get_name_and_id()Sebastian Huber2021-05-171-0/+1
| | | | | | | | | | Move this diagnostic function to a separate file since it does not provide a core function of the system. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* posix: Move clock_nanosleep()Sebastian Huber2021-05-171-0/+1
| | | | | | | Move clock_nanosleep() to a separate file to avoid a dependency on errno which pulls in the Newlib reentrancy support. This is an issue since most parts which are pulled in cannot be garbage collected by the linker due to the system initialization linker set.
* bsps/imxrt: Fix OCRAM, ITCM and DTCM sizesChristian Mauderer2021-05-177-4/+86
| | | | | | | | | | | | The sizes are configurable via fuses or per software via some registers. At the moment the registers are not changed. Changing the registers destroys data stored in the RAM areas (like application code or data). So either the fuses or some bootloader should be used to set them before the application starts. This also adds an OCRAM only linker command file. Update #4180
* validation: Add support librarySebastian Huber2021-05-144-4/+22
| | | | | | Add a library for support functions used by validation tests. Rename tc-support.* to tx-support.* since this file does not contain test cases.
* score: Rename _Stack_Free_nothing()Sebastian Huber2021-05-111-1/+1
| | | | | | | Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it reusable for the message queue buffers. Update #4007.
* bsps/riscv: Support RTEMS_NOINIT in linkcmdsSebastian Huber2021-05-031-0/+7
| | | | Update #3866.
* Use alias for rtems_task_self() and pthread_self()Sebastian Huber2021-04-301-2/+1
| | | | This may reduce the code size a bit.
* powerpc/shared/console: Make console baud rate configurable.Peter Dufault2021-04-276-1/+16
| | | | | | | | | | | The "powerpc/shared/console" code has the start-up console value fixed at 9600 baud. This changes the hard-wired constant "9600" in the code to the configuration setting "BSP_CONSOLE_BAUD" and adds configuration support in both the "waf" and the legacy configuration systems. Note that the VME BSPs beatnik, mvme3100, and mve5100 can be improved by adding a "mvmexxxx" BSP family. This configuration change, as well as future configuration changes, could then be made in a "grp.yml" file.
* Nucleo UART3 (console) pins correctionRobin Mueller2021-04-232-8/+2
| | | | Now using default pins
* build: Remove duplicated attributesSebastian Huber2021-04-222-2/+0
|
* libcsupport: Move rtems_calloc()Sebastian Huber2021-04-201-0/+1
| | | | | | | | | Move rtems_calloc() since it only depends on rtems_malloc(). This may make it easier to customize the heap allocator. Change licence to BSD-2-Clause according to file history. Update #3053.
* bsp/stm32h7: Remove duplicated build definitionsSebastian Huber2021-04-201-89/+1
| | | | The links are already in spec/build/bsps/arm/stm32h7/grp.yml.
* Revert "cpukit: Remove telnetd"Vijay Kumar Banerjee2021-04-134-0/+50
| | | | This reverts commit 3299dda2454a8847c670a732f6c12ef1f2cc5dd0.
* testsuites: Remove all legacy networking testsVijay Kumar Banerjee2021-04-077-134/+0
| | | | Update #3850
* spec: Remove residue bsps spec filesVijay Kumar Banerjee2021-04-073-57/+0
| | | | Update #3850
* cpukit: Remove telnetdVijay Kumar Banerjee2021-04-074-50/+0
| | | | Update #3850
* testsuites/libtests: Remove networking01Vijay Kumar Banerjee2021-04-071-21/+0
| | | | Update #3850
* bsps: Remove networking driversVijay Kumar Banerjee2021-04-073-37/+0
| | | | Update #3850
* cpukit/libfs: Remove nfsclientVijay Kumar Banerjee2021-04-072-25/+0
| | | | Update #3850
* cpukit: remove pppdVijay Kumar Banerjee2021-04-073-36/+0
| | | | Update #3850
* cpukit: Move ftpfs from libnetworking to libfsVijay Kumar Banerjee2021-04-072-2/+2
| | | | Update #3850
* spec: Remove RTEMS_NETWORKING optionsVijay Kumar Banerjee2021-04-0781-1067/+0
| | | | Update #3850
* score: Replace Objects_Name_or_id_lookup_errorsSebastian Huber2021-04-071-1/+0
| | | | | Replace Objects_Name_or_id_lookup_errors with new Status_Control codes. Get rid of the _Status_Object_name_errors_to_status lookup table.
* arm/stm32h7: Add STM32H7_USART3_GPIO_*Sebastian Huber2021-04-063-0/+44
|
* arm/stm32h7: Add STM32H7_HSE_FREQUENCYSebastian Huber2021-04-062-0/+22
|
* arm/nucleo-h743zi: New BSP variantSebastian Huber2021-04-061-0/+17
|
* build: Add group for arm/stm32h7Sebastian Huber2021-04-063-419/+538
|
* stm32h7: Add init for sdmmc pinsChristian Mauderer2021-04-011-0/+1
| | | | Update #4372
* bsps/shared: Add Xilinx-AXI SPI driver to wafJan Sommer2021-03-304-0/+24
| | | | Updates #4321
* validation: Add test case support functionsSebastian Huber2021-03-232-0/+2
|
* bsp/beagle: Ported Beagle pinmux driver to RTEMSG S Niteesh Babu2021-03-211-0/+6
| | | | | | | | | | The following files have been ported 1) ti_pinmux.c 2) ti_pinmux.h 3) am335x_scm_padconf.c 4) am335x_scm_padconf.h Update #3784
* bsps/beagle: Added SOC detection using FDTG S Niteesh Babu2021-03-211-0/+1
| | | | | Detects the SOC type using FDT and also replaces the ti_cpuid.h header in FreeBSD with custom one.
* build: Add test exclude for arm/lpc2362Sebastian Huber2021-03-191-0/+1
|
* validation: Task create/constructSebastian Huber2021-03-161-0/+2
| | | | | Run the task create/construct tests also on validation test suite 1 which has exactly one processor configured.
* Test suite for FTW.H methodsEshan dhawan2021-03-112-0/+36
| | | | Signed-off-by: Eshan Dhawan <eshandhawan51@gmail.com>
* leon,tn-0018: work around GRLIB-TN-0018 errataDaniel Hellstrom2021-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overview ======== The errata is worked around in the kernel without requiring toolchain modifications. It is triggered the JMPL/RETT return from trap instruction sequence never generated by the compiler and. There are also other conditions that must must be true to trigger the errata, for example the instruction that the trap returns to has to be a JMPL instruction. The errata can only be triggered if certain data is corrected by ECC (inflicted by radiation), thus it can not be triggered under normal operation. For more information see: www.gaisler.com/notes Affected RTEMS target BSPs: * GR712RC * UT699 * UT700/699E The work around is enabled by defining __FIX_LEON3_TN0018 at build time. After applying the following GCC patch, GCC will set the define when compiling for an affected multilib: * GR712RC (-mcpu=leon3 -mfix-gr712rc) * UT700/UT699E (-mpcu=leon3 -mfix-ut700) * UT699 (-mcpu=leon -mfix-ut699) When building for another multilib and TN0018 is still required, it is possible to enable it on the RTEMS kernel configure line using the TARGET_CFLAGS (-D__FIX_LEON3FT_TN0018) or other by other means. The following GCC patch sets __FIX_LEON3FT_TN0018 for the affected RTEMS multilibs: --------- diff --git a/gcc/config/sparc/rtemself.h b/gcc/config/sparc/rtemself.h index 6570590..ddec98c 100644 --- a/gcc/config/sparc/rtemself.h +++ b/gcc/config/sparc/rtemself.h @@ -33,6 +33,8 @@ builtin_assert ("system=rtems"); \ if (sparc_fix_b2bst) \ builtin_define ("__FIX_LEON3FT_B2BST"); \ + if (sparc_fix_gr712rc || sparc_fix_ut700 || sparc_fix_ut699) \ + builtin_define ("__FIX_LEON3FT_TN0018"); \ } \ while (0) --------- Workaround Implementation ========================= In general there are two approaches that the workaround uses: A) avoid ECC restarting the RETT instruction B) avoid returning from trap to a JMPL instruction Where A) comes at a higher performance cost than B), so B) is used where posssible. B) can be achived for certain returns from trap handlers if trap entry is controlled by assembly, such as system calls. A) A special JMPL/RETT sequence where instruction cache is disabled temporarily to avoid RETT containing ECC errors, and reading of RETT source registers to "clean" them from incorrect ECC just before RETT is executed. B) The work around prevents JMPL after system calls (TA instruction) and modifies assembly code on return from traps jumping back to application code. Note that for some traps the trapped instruction is always re-executed and can therefore not trigger the errata, for example the SAVE instruction causing window overflow or an float instruction causing FPU disabled trap. RTEMS SPARC traps workaround implementation: NAME NOTE TRAP COMMENT * window overflow 1 - 0x05 always returns to a SAVE * window underflow 1 - 0x06 always returns to a RESTORE * interrupt traps 2 - 0x10..1f special rett sequence workaround * syscall 3 - 0x80 shutdown system - never returns * ABI flush windows 2 - 0x83 special rett sequence workaround * syscall_irqdis 4 - 0x89 * syscall_irqen 4 - 0x8A * syscall_irqdis_fp 1 - 0x8B always jumps back to FP instruction * syscall_lazy_fp_switch 5 - 0x04 A) jumps back to FP instruction, or to B) _Internal_error() starting with SAVE Notes: 1) no workaround needed because trap always returns to non-JMPL instruction 2) workaround implemented by special rett sequence 3) no workaround needed because system call never returns 4) workaround implemented by inserting NOP in system call generation. Thus fall into 1) when workaround is enabled and no trap handler fix needed. 5) trap handler branches into both 1) and returning to _Internal_error() which starts with a SAVE and besides since it shuts down the system that RETT should never be in cache (only executed once) so fix not necessary in this case. Any custom trap handlers may also have to be updated. To simplify that, helper work around assembly code in macros are available in a separate include file <libcpu/grlib-tn-0018.h>. Close #4155.
* leon3: avoid dependency on apbuart/timer driverDaniel Hellstrom2021-03-111-0/+1
| | | | | | | Moves drvmgr_drivers[] from amba.c to a separate file in order to avoid the dependecy on APBUART/GPTIMER drivers. This has an effect when user configured not to use timer or uart in their project.
* leon,grcan: split out GRCAN non-FD specific support in separate fileDaniel Hellstrom2021-03-111-0/+1
| | | | Close #4324.
* leon,grcanfd: split out GRCANFD specific support in separate fileDaniel Hellstrom2021-03-111-0/+1
| | | | Update #4324.
* leon,can: introduce common CAN baud-rate calculation functionDaniel Hellstrom2021-03-111-0/+2
| | | | | | | Reimplemented the baud-rate algorithm from scratch to cope with GRCAN, GRCANFD and OC_CAN devices. Update #4323.
* bsps/xilinx_zynq: Add SPI driver to wafJan Sommer2021-03-104-0/+24
| | | | Updates #4320
* build: Fix broken linkSebastian Huber2021-03-091-1/+1
|
* spec/aarch64: Enable previously disabled testsAlex White2021-03-082-18/+2
| | | | | This enables several testsuites that were initially disabled during development.
* spec/aarch64: Rename ZynqMP QEMU BSPsKinsey Moore2021-03-053-3/+3
| | | | | | The current ZynqMP BSPs don't have _qemu in their name as do all other RTEMS BSPs that are specifically made to run on QEMU. This fixes the naming for those ZynqMP BSP variants for easier identification.
* spec: Move hypervisor start for use by AArch64Kinsey Moore2021-03-052-1/+1
| | | | | | AArch64 on hardware is often started at EL2 instead of EL1 from either u-boot or a first stage bootloader. This allows RTEMS to drop from EL2 execution to EL1 to operate as normal.
* spec/aarch64: Remove sp37 from intermittent testsAlex White2021-03-052-2/+0
|
* bsps/aarch64: Resolve usage of SUBALIGN()Kinsey Moore2021-03-052-2/+0
| | | | | | | | Remove usage of SUBALIGN() in aarch64 linkcmds which works around a difference in behavior on AArch64 platforms. This is no longer necessary since alignment is now enforced explicitly. Closes #4178.
* validation: Fix for 64-bit targetsSebastian Huber2021-03-042-6/+0
| | | | Closes #4179.
* bsps/beagle: Adding QEP driver support to BeagleBoneBlack BSPJames Fitzsimons2021-03-021-1/+4
|
* score: Fix _Stack_Extend_size()Sebastian Huber2021-03-011-0/+1
| | | | | Check for an integer overflow. Add a validation test for task create errors.