summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* arm: Fix ARMv7-M interrupt processing4.11.2Sebastian Huber2017-07-072-30/+48
| | | | | | | | | | | | Right after a "msr basepri_max, %[basepri]" instruction an interrupt service may still take place (observed at least on Cortex-M7). However, pendable service calls that are activated during this interrupt service may be delayed until interrupts are enable again. The _ARMV7M_Pendable_service_call() did not check that a thread dispatch is allowed. Move this test from _ARMV7M_Interrupt_service_leave() to _ARMV7M_Pendable_service_call(). Close #3060.
* bsps/arm: Fix bit field offset in GIC supportSebastian Huber2017-05-111-1/+1
| | | | Close #3002.
* libdl: Back port C++ exception throw and catch from 4.12.Chris Johns2017-04-0462-275/+4754
| | | | Closes #2956.
* dosfs: Fix file name searchSebastian Huber2017-03-212-18/+17
| | | | | | | Do not use our long file name entry count to optimize the file name search. The Unicode comparison must be taken into account. Close #2939.
* dosfs: Fix race condition msdos_dir_read()Sebastian Huber2017-03-211-5/+5
| | | | | | Obtain file system instance lock before member access. Close #2937.
* dosfs: Rename fat_entries to lfn_entriesSebastian Huber2017-03-211-20/+20
| | | | | The name "fat_entries" for long file name directory entries is quite misleading.
* dosfs: Fix long file name paddingSebastian Huber2017-03-211-3/+3
| | | | Close #2934.
* dosfs: msdos_filename_utf8_to_short_name_for_saveSebastian Huber2017-03-211-15/+10
| | | | Simplify.
* dosfs: Fix msdos_add_file()Sebastian Huber2017-03-211-245/+155
| | | | | | Make sure that long file names work accross cluster boundaries. Close #2929.
* dosfs: Simplify msdos_add_file()Sebastian Huber2017-03-211-4/+2
| | | | Update #2929.
* dosfs: Add and use msdos_lfn_checksum()Sebastian Huber2017-03-213-22/+25
| | | | Update #2929.
* dosfs: Simplify fat_file_open()Sebastian Huber2017-03-211-3/+1
| | | | Update #2929.
* dosfs: Simplify msdos_creat_node()Sebastian Huber2017-03-211-21/+14
| | | | Update #2929.
* dosfs: Fix fat_file_write()Sebastian Huber2017-03-2110-36/+183
| | | | | | | | Remove forced overwrite which leads to file data corruption. The logic to determine a forced overwrite was fundamentally broken. For simplity, disable this feature. Close #2622.
* dosfs: Fix msdos_utf8_normalize_and_fold()Sebastian Huber2017-03-212-5/+22
| | | | | | | | It is all right in case the result uses the full destination buffer. Without this fix the handling of a maximum 8.3 short file name is broken. Close #2928.
* libio: Fix deadlock in location managementSebastian Huber2017-03-218-15/+19
| | | | | | | | Perform a context-dependent deferred location release to avoid a deadlock on the file system instance locks, for example during a chdir(). Close #2936.
* Config (.cfg) files are only valid if deeper than 5.Chris Johns2017-03-211-1/+1
| | | | Closes #2827.
* termios: Fix infinite loop in receive pathSebastian Huber2017-02-281-5/+9
| | | | | | | In canonical mode, the raw input buffer or the canonical buffer may overflow without an end of line. Avoid an infinite loop in this case. Update #2915.
* termios: Protect raw input buffer with device lockSebastian Huber2017-02-281-16/+36
| | | | | | | Use the device lock to protect the raw input buffer management, e.g. tail, head and buffer content updates. Update #2914.
* termios: Simplify rtems_termios_read_tty()Sebastian Huber2017-02-281-9/+4
| | | | | | Remove dead code. Update #2914.
* dosfs: Fix FAT32 formatterSebastian Huber2017-02-281-2/+2
| | | | | | | | | The second FAT entry contains a bit to indicate if the FAT32 filesystem is not dirty and a bit to indicate if there was no IO error. Set both bits for a fresh filesystem. This prevents a warning if mounted on Windows. Update #2913.
* dosfs: Directories should have a file size of 0Sebastian Huber2017-02-281-1/+6
| | | | Update #2755.
* Remove old CVS keywordsNick Withers2017-02-152-2/+2
| | | | Close #2388.
* Fix exception handler for supporting FPUSudarshan Rajagopalan2017-02-151-4/+4
| | | | Close #2401.
* dosfs: Fix msdos_find_file_in_directory()Sebastian Huber2017-02-142-1/+23
| | | | | | For a filename match the entry must match without anything remaining. Update #2908.
* Change version to 4.11.1.99Sebastian Huber2017-01-264-4/+4
| | | | Update #2886.
* GRETH: Interrupt Handler Uses Wrong EventsChristian Spindeldreier2017-01-121-1/+1
| | | | closes #2796.
* Remove texinfo format documentation. Replaced by Sphinx formatted documentation.Joel Sherrill2017-01-11339-145987/+1
| | | | updates #2812.
* virtex4, virtex5 bsp.h: Use BSP_INTERRUPT_STACK_SIZE not user space ↵4.11.14.11.0Tim Cussins2016-11-032-2/+2
| | | | | | CONFIGURE_INTERRUPT_STACK_SIZE closes #2801.
* sptests/spclock_err02: Update screen fileSebastian Huber2016-11-021-18/+22
|
* bsps/arm: do not introduce CPU_CACHE_LINE_BYTES in 4.11 and correct ↵Pavel Pisa2016-10-031-4/+2
| | | | CPU_STRUCTURE_ALIGNMENT.
* libdl/rtl-obj.c: synchronize cache should not depend on CPU_CACHE_LINE_BYTES.Pavel Pisa2016-10-031-3/+6
| | | | | | | | | | The CPU_CACHE_LINE_BYTES has been introduced after 4.11 branch fork and is not available for all architectures on RTEMS 4.11. Use of rtems_cache_get_maximal_line_size() is more descriptive choice. The min/max data/instruction cache line size is not critical there, value is used for optimization only to use single operation for decently following sections.
* arm/tms570: document BSP setup with included hardware initialization.Pavel Pisa2016-10-021-22/+100
|
* arm/tms570: update bootstrap generated preinstall.amPavel Pisa2016-10-021-0/+13
|
* arm/tms570: include TMS570_USE_HWINIT_STARTUP option to select bare metal ↵Pavel Pisa2016-10-022-0/+26
| | | | startup and selftest.
* arm/tms570: include hardware initialization and selftest based on Ti ↵Pavel Pisa2016-10-0216-0/+3519
| | | | | | | | | | | | | | | | | | | | HalCoGen generated files. The configuration is specific for TMS570LS3137 based HDK. Pins configuration can be easily changed in rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c file. The list tms570_selftest_par_list in the file rtems/c/src/lib/libbsp/arm/tms570/hwinit/bspstarthooks-hwinit.c specifies peripherals which health status is examined by parity self-test at BSP start-up. It can be easily modified for other TMS570 family members variants same as the selection of other tests in bspstarthooks-hwinit.c.
* arm/tms570: define base addresses of all TMS570LS3137 SPI interfaces.Pavel Pisa2016-10-021-1/+5
| | | | | | | | Generated header file ti_herc/reg_spi.h contains complete registers and fields set for Ti MibSPI peripheral. Care has to be taken that only TMS570_SPI1, TMS570_SPI3 and TMS570_SPI5 are of this complete multibuffer type. TMS570_SPI2 and TMS570_SPI4 have substantial part of registers removed but else they are compatible.
* bsp/tms570: ensure that change of SCI baudrate is not applied in the middle ↵Pavel Pisa2016-10-021-2/+23
| | | | | | | | | | | | | | | | | | | of character Tx. The rtems_monitor_task() setups/updates termios attributes of the opened TTY and if there is ongoing some other output it leads to the stuck. It would be better to use some termios API function which would call drainOutput() in rtems/cpukit/libcsupport/src/termios.c. But functionality is not accessible outside of core termios implementation. The loop waiting for last character to be sent has to be there anyway because hardware does not provide Tx machine/shift register empty interrupt. Closes #2794
* bsp/tms570: regenerate preinstall makefile by bootstrap -p.Pavel Pisa2016-10-021-0/+8
|
* bsp/tms570: include complete peripheral initialization to SCI driver.Pavel Pisa2016-10-021-2/+36
| | | | Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570: update pinmux to provide support for initialization lists and ↵Pavel Pisa2016-10-024-69/+196
| | | | clear of alt outputs.
* bsp/tms570: include package balls and PINMMR registers mapping for ↵Pavel Pisa2016-10-022-0/+700
| | | | TMS570LS3135ZWT chip.
* bsps/arm: Export bsp_start_hook_0_done symbol from ARM start.S.Pavel Pisa2016-10-021-0/+1
| | | | | | | | The symbol can be used by bsp_start_hook_0 when complete RAM memory is initialization and overwritten during BSP self-test. The test overwrites even memory used to store return address / link register and regular resturn from bsp_start_hook_0 is not possible then.
* arm/raspberrypi: minimized mainline patch move MMU in front of application ↵Pavel Pisa2016-10-022-3/+4
| | | | | | | | | | | | | | | | image and correct RPi2 boot on 4.11 branch. This is minimized version of mainline patch arm/raspberrypi: move MMU in front of application image to respect variable memory size. plus correction which has been part of other mainline patches. This is end of series which allows 4.11 to boot on Raspberry Pi. Closes #2782 Closes #2783
* arm/raspberrypi: change interrupt dispatch and enable to generic vector id ↵Pavel Pisa2016-10-022-43/+94
| | | | | | | | | | based approach. Using conditional branches to find bits is extremely inefficient and for asynchronous delivery of different interrupt sources lead to total confusion of branch prediction unit. Updates #2783
* arm/raspberrypi: remove duplicate setup of IRQ handler in the main ARM ↵Pavel Pisa2016-10-022-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | exception table. Exception table setup is processed by common CPU architecture support. For ARM architecture, it can be found in the file rtems/c/src/lib/libbsp/arm/shared/start/start.S and ends by bsp_vector_table_copy_done label. The actual tabel content can be found at bsp_start_vector_table_begin For ARMv7-A and even other variant with hypervisor mode support, it is even not necessary to copy table to address 0 at all because CP15 register can be used to specify alternative table start address arm_cp15_set_vector_base_address(&)bsp_start_vector_table_begin; ARMv7-M have register to set exception table base as well. Updates #2783
* arm/raspberrypi: ensure that correct RPI_PERIPHERAL_BASE is provided by ↵Pavel Pisa2016-10-022-0/+2
| | | | | | | | | | | | | raspberrypi.h If the raspberrypi.h has been included without preceding inclussion of bsp.h then BSP_IS_RPI2 has not been set for Raspberry Pi 2 BSP variant and bad things happen later. The patch includes bspopts.h by raspberrypi.h and even includes bsp.h in critical peripherals support. Updates #2783
* arm/raspberrypi: reorder and update MMU config table to nor force RW section ↵Pavel Pisa2016-10-021-9/+22
| | | | | | | | | | | later to RO. Enable even the first megabyte of SDRAM to be cache-able after problems with stale cache content has been resolved by previous commit. Because major part of application usually fits to the first megabyte this speedups test dhrystone application by factor 40. Updates #2783
* arm/raspberrypi: Enable HYP to SVC switch for this BSP.Pavel Pisa2016-10-022-0/+7
| | | | | | | This support is required when newer firmware is used on Raspberry Pi 2 boards. Updates #2783
* bsps/arm: Support recent bootloaders starting kernel in HYP modePavel Pisa2016-10-025-7/+175
| | | | | | | | | | | | | | | | | | | | | When HYP mode is detected at startup then setup HYP mode vectors table (for future extensions) clean exceptions switching to HYP mode and switch CPU to ARM SVC mode. BSPs which want to use this support need to include next option in their configure.ac RTEMS_BSPOPTS_SET([BSP_START_IN_HYP_SUPPORT],[*],[1]) RTEMS_BSPOPTS_HELP([BSP_START_IN_HYP_SUPPORT], [Support start of BSP in ARM HYP mode]) AM_CONDITIONAL(BSP_START_IN_HYP_SUPPORT,test "$BSP_START_IN_HYP_SUPPORT" = "1") and need to include next lines in corresponding Makefile.am if BSP_START_IN_HYP_SUPPORT libbsp_a_SOURCES += ../shared/startup/bsp-start-in-hyp-support.S endif Updates #2783