summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bsps/aarch64/raspberrypi: Add system timer supportHEADmasterNing Yang37 hours7-10/+101
| | | | | | | | | | The clock from the ARM timer is derived from the system clock. This clock can change dynamically e.g. if the system goes into reduced power or in low power mode. Thus the clock speed adapts to the overall system performance capabilities. For accurate timing it is recommended to use the system timers. if BSP_CLOCK_USE_SYSTEMTIMER = 1, use the System Timer, otherwise use the ARM Timer.
* validation: Fix typoSebastian Huber9 days1-1/+1
|
* doxygen: Fix constraintsSebastian Huber9 days1-2/+3
| | | | | | | Somehow the constraints for CONFIGURE_TICKS_PER_TIMESLICE and CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK got mixed up. Update #4986.
* bsp/qoriq: Include missing processormaskimpl.hVincenzo Calabretta9 days1-0/+1
|
* bsps/arm: Improve GICv3 supportSebastian Huber10 days1-5/+11
| | | | | | | | In addtion to 1023, the GICC_IAR register may return 1022 as a special value. Simply check for a valid interrupt vector for the dispatching. Check the GICC_IAR again after the dispatch to quickly process a next interrupt without having to go through the interrupt prologue and epiloge.
* arm/xen: Fix BSP_INTERRUPT_VECTOR_COUNTSebastian Huber10 days1-1/+1
| | | | Do not use reserved interrupt IDs.
* validation: Improve bad thread dispatch validationSebastian Huber10 days1-17/+70
|
* validation: Test global construction on aarch64Sebastian Huber10 days1-0/+1
| | | | Update #3716.
* dev/irq: Improve Doxgyen group assignmentsSebastian Huber10 days11-29/+94
| | | | | Make the GIC interrupt controller support a subgroup of the generic interrupt controller support.
* bsps/arm: Improve GICv2 supportSebastian Huber10 days3-13/+34
| | | | | | | | In addtion to 1023, the GICC_IAR register may return 1022 as a special value. Simply check for a valid interrupt vector for the dispatching. Check the GICC_IAR again after the dispatch to quickly process a next interrupt without having to go through the interrupt prologue and epiloge.
* smptests/smpipi01: Fix sporadic test failureSebastian Huber10 days1-6/+42
| | | | | Make sure that the last IPI is processed before the next test case is carried out.
* smpmulticast01: Ignore SMP_FATAL_SHUTDOWN_RESPONSESebastian Huber10 days1-8/+10
| | | | This fatal code is a part of the normal SMP termination procedure.
* testsuites/unit: Add tests for compiler builtinsSebastian Huber10 days1-14/+207
| | | | | | | On the arm target, __udivmoddi4() cannot be fully tested through normal integer divisions. Update #3716.
* dev/clock: Move bcm2835-system-timer driver to shared spaceNing Yang2024-04-112-1/+1
| | | | This patch moves the bcm2835 system timer driver in the arm/raspberrypi directory to the shared directory and adjusts arm/raspberrypi BSP.
* bsps/xil-ttc: Improve clock driverSebastian Huber2024-04-1110-138/+337
| | | | | | | Make the clock driver parameters configurable. Use the maximum counter frequency to get the best time resolution. Decouple the CPU counter from the timecounter. Make the tick catch up handling more robust. Add a validation test for the tick catch up.
* bsps/xil-ttc: Add XIL_FATAL_TTC_IRQ_INSTALLSebastian Huber2024-04-117-4/+378
|
* bsps/xil-ttc: Use interrupt entrySebastian Huber2024-04-111-4/+10
|
* build: Install <rtems/score/processormaskimpl.h>Sebastian Huber2024-04-101-0/+1
|
* bsps: Include <rtems/score/processormaskimpl.h>Sebastian Huber2024-04-096-0/+6
| | | | | This fixes commit b678a199e499b6c3f0b453393434aefaee180423 for SMP configurations.
* bsp/qoriq: Do not build unused objectSebastian Huber2024-04-091-1/+0
|
* score: Improve C/C++ standard compatibilitySebastian Huber2024-04-094-380/+440
| | | | | | The processor mask implementation uses flsl() from <strings.h> which is only BSD visible. Move the implementation to a separate header file to hide it from the API level. This fixes build errors with GCC 14.
* validation: Fix powerpc in test caseSebastian Huber2024-04-091-1/+1
| | | | | | The powerpc context switch restores the interrupt state. Update #4955.
* Fix: type-cast to wrong typeBernd Moessner2024-04-061-1/+1
|
* dev/serial: Add Zynq UART kernel I/O supportSebastian Huber2024-04-0416-221/+90
| | | | | | Replace the BSP_CONSOLE_MINOR BSP option for the Xilinx Zynq BSPs with the new BSP option ZYNQ_UART_KERNEL_IO_BASE_ADDR. Move the kernel I/O support to a shared file.
* dev/serial: Add ZYNQ_UART_[01]_BASE_ADDRSebastian Huber2024-04-0411-8/+150
| | | | This helps to provide a shared implementation of the kernel I/O support.
* dev/serial: Simplify some Zynq UART functionsSebastian Huber2024-03-278-111/+62
| | | | | | Make the initialization and polled functions independent of the Termios context. This helps to implement the kernel I/O support without a dependency on the Termios framework.
* bsps: Move declarations to <bsp/irq-generic.h>Sebastian Huber2024-03-2727-187/+160
| | | | | | | | | | | Move declarations of bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() to <bsp/irq-generic.h>. Canonicalize the <bsp/irq.h> includes. Implement bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() only if needed (usually RTEMS_SMP). Provide stub implementations for i386 to fix build errors.
* rtems: Avoid -Wundef warnings in API headerSebastian Huber2024-03-231-6/+6
|
* Mark parameters as intentionally unusedSebastian Huber2024-03-228-0/+11
| | | | | | | | The parameters are unused due to API constraints. The functions are used through function pointers. Alternative implementations may use the parameters. Update #4862.
* bsps: Avoid unused argument in clock interruptSebastian Huber2024-03-2042-181/+137
| | | | | | | | | | | Pass the parameter of the clock interrupt handler to Clock_driver_support_at_tick() and Clock_driver_timecounter_tick(). This makes it possible to use the interrupt handler argument in clock drivers. Use the interrupt handler provided by Clock_driver_support_install_isr() to avoid local delarations of Clock_isr(). Update #4862.
* Do not define CONFIGURE_TICKS_PER_TIMESLICE to 0Sebastian Huber2024-03-2065-66/+2
| | | | | | | Unconditionally make a CONFIGURE_TICKS_PER_TIMESLICE value less than or equal to zero an error. Update #4986.
* score: Include missing header fileSebastian Huber2024-03-201-0/+2
| | | | | | This fixes: heap.c:268:3: warning: implicit declaration of function 'memset'
* testsuites: Exclude JFFS2 NAND testsSebastian Huber2024-03-202-0/+18
|
* dev/irq: Optional arm_gic_irq_processor_count()Sebastian Huber2024-03-203-0/+6
| | | | Provide arm_gic_irq_processor_count() only in SMP configurations.
* bsps: Add xilinx_zynqmp_lp64_a53 BSP variantSebastian Huber2024-03-205-0/+25
| | | | Add a BSP variant without a board-specific name.
* bsps: Add xilinx_zynq_rpu BSP variantSebastian Huber2024-03-204-83/+132
| | | | Add a BSP variant without a board-specific name.
* xilinx-zynqmp-rpu: Remove URLs from copyrightsSebastian Huber2024-03-204-4/+4
|
* bsps: Use bsps/arm/xilinx-zynqmp-rpuSebastian Huber2024-03-202-3/+2
|
* bsps: Use bsps/aarch64/xilinx-zynqmpSebastian Huber2024-03-203-15/+3
|
* arm: Move _CPU_ISR_install_vector()Sebastian Huber2024-03-203-27/+77
| | | | The use of this function is optional. Newer BSPs do not use it.
* arm/xilinx-zynqmp-rpu: Fix clock driverStanislav Pankevich2024-03-191-1/+1
| | | | | | We observed a strange behavior of the 1Hz timer when running cFS on Zynq RPU. After some investigation, we reduced the error to the truncation issue. This patch fixes the issue.
* cpukit: Gate ticks per timeslice configKinsey Moore2024-03-181-1/+3
| | | | | Gate CONFIGURE_TICKS_PER_TIMESLICE appropriately behind CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER.
* cpukit/jffs2: Properly commit JFFS2 dataKinsey Moore2024-03-141-0/+4
| | | | | | | | | When unmounting a JFFS2 filesystem, any outstanding write buffers must be flushed to disk. In some circumstances, these write buffers are instantiated by a garbage collection pass and as such no inode number is associated with it. Due to the way that JFFS2 processes these garbage collection passes, a write buffer without any associated inodes will not be flushed unless it is forced with jffs2_flush_wbuf_pad().
* Ensure ticks per timeslice is greater than zeroZack leung2024-03-142-2/+5
|
* bsps/shared/xqspipsu: Read correct status bitsKinsey Moore2024-03-111-0/+15
| | | | | | | When resetting the QSPI FIFOs, the driver was reading write-only bits of a register for status information when it was actually in a different register. This corrects the driver so that it reads the correct status bits.
* bsps/shared/xnandpsu: Add opportunistic page cacheKinsey Moore2024-03-112-0/+50
| | | | | | | | Add an opportunistic page cache to the xnandpsu driver since it does not implement partial page reads and common filesystem access patterns perform multiple reads from the same page. This has been seen to provide a 10x speedup to read speeds and a 2x speedup on first initialization when used with JFFS2.
* aarch64/zynqmp: Fix build item BSP familySebastian Huber2024-03-111-1/+1
|
* bsps/clock: Fix fast idle for SMPSebastian Huber2024-03-111-0/+16
|
* validation/tc-sched-smp: Fix synchronization issueMatt Joyce2024-03-111-0/+1
| | | | Update #3716.
* aarch64/zynqmp: Fix UART base addresses and IRQSebastian Huber2024-03-113-4/+5
| | | | | The base addresses and IRQ numbers for UART 0 and 1 were interchanged. Fix this and set BSP_CONSOLE_MINOR to 0 for this BSP family.