summaryrefslogtreecommitdiffstats
path: root/bsps (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-11-10bsps/aarch64: Restore interrupt nestingKinsey Moore1-1/+3
Fixing the debug mask flag broke nested interrupts. This restores that functionality.
2021-11-01cpukit/aarch64: Add libdebugger supportKinsey Moore1-0/+11
This adds support for libdebugger under AArch64 using software breakpoints and the single-step execution mode present in all AArch64 CPUs.
2021-11-01bsps/aarch64: Mask debug events from startupKinsey Moore1-2/+2
Debug events should be masked at least until after the first context switch and should usually be masked until a debugger is attached for application debugging.
2021-11-01bsps/aarch64: Set interrupt level correctlyKinsey Moore1-1/+1
The existing code is functional but inccorrect and blindly modifies the other masking bits. It is important to preserve those other bits since they control masking of important system events.
2021-11-01bsps/aarch64: Add missing MMU map recursion checkKinsey Moore1-0/+9
Certain input parameters for MMU mapping operations could cause an infinite recursion if block end boundaries didn't align to 4k. This ensures that recursion descent does not exceed 2 levels and instead rounds up to the nearest 4k block if necessary.
2021-11-01aarch64: Break out MMU definitionsKinsey Moore5-39/+121
This moves the AArch64 MMU memory type definitions into cpukit for use by libdebugger since remapping of memory is required to insert software breakpoints.
2021-10-13microblaze: Rework for RTEMS 6Alex White24-0/+2171
This reworks the existing MicroBlaze architecture port and BSP to achieve basic functionality using the latest RTEMS APIs.
2021-10-06bsp/imx: Add cs_change support to SPIChristian Mauderer1-4/+6
2021-09-21cpukit: Add AArch64 SMP SupportKinsey Moore7-26/+165
This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
2021-09-21bsps/gicv2: Allow BSPs to define IRQ attributesKinsey Moore3-34/+180
ARM's GICv2 is configurable and its attributes vary between implementations including omission of specific interrupts. This allows BSPs to accomodate those varying implementations with customized attribute sets.
2021-09-21bsps/zynqmp: Use correct number of interruptsKinsey Moore1-1/+1
GICv2 can support up to 1024 interrupts, but ZynqMP hardware is only configured for 192 interrupts.
2021-09-21bsps/shared: Add PSCI SMP startup supportKinsey Moore1-0/+92
This adds the SMP function that supports spinup of additional CPU cores using the ARM standard PSCI inteface. This interface is provided by QEMU as well as ARM Trusted Firmware running in monitor mode (EL3) on ARMv7 and AArch64 CPUs. This supports activation va SMC or HVC instructions depending on BSP configuration.
2021-09-21build: Remove old build systemSebastian Huber117-3065/+0
Close #3250. Close #4081.
2021-09-19powerpc/motorola_powerpc: Map LibBSD bus space to the PCI base addressChris Johns1-3/+29
2021-09-16arm/xilinx: Fix zynq-uart interrupt receiveChris Johns3-57/+67
- Trigger on a single character entering the RX FIFO - Disable the RX timeout - Send up to a FIFO full of data
2021-09-09bsps/zynqmp: Added I2C support for ZynqMPStephen Clark4-0/+80
Added I2C drivers for ZynqMP and updated build system accordingly.
2021-09-09bsps/zynq: Moved general i2c files to shared directoriesStephen Clark3-2/+2
Certain files related to the Zynq BSP's I2C driver are useable by the ZynqMP BSP as well. Moved these files to shared directory in anticipation of I2C support for ZynqMP.
2021-09-06score: Change TOD_LATEST_YEAR to 2099Sebastian Huber1-7/+2
This simplifies the implementation a bit. Declare _TOD_Days_to_date[] in <rtems/score/todimpl.h>. Make _TOD_Days_per_month[] and _TOD_Days_since_last_leap_year[] static. Update #4338.
2021-09-02bsps/leon3: Rename fatal error codeSebastian Huber2-2/+2
Rename LEON3_FATAL_INVALID_CACHE_CONFIG_MAIN_PROCESSOR in LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR since the term "boot processor" is used elsewhere in the code base.
2021-09-02bsps/imxrt: Improve SPI driverChristian Mauderer1-73/+124
It wasn't possible to keep the CS line low between multiple message descriptors in one transfer. This patch reworks the driver so that it is possible. Update #4180
2021-08-19aarch64/versal: Enable TX and RX FIFOsChris Johns1-5/+8
- Wait for the tx holding register to empty in a tx flush
2021-08-18bsps/raspberrypi: Add SEV Instruction for RPi SMP firmware changes.pranav1-0/+1
The Pi firmware added a wfe(wait for event), the cores 1-3 wait for the start address being written to the mailbox register, followed by a SEV poke to the mailbox that acts as a wfe wake-up event.
2021-08-12bsp/leon3: Fix rtems_interrupt_is_pending()Sebastian Huber1-6/+0
Take the interrupt force register into account in all configurations. Update #3269.
2021-08-12bsps/arm: More robust SMP startSebastian Huber3-11/+16
Do not continue execution on processors which are not configured to prevent the use of arbitrary memory for the initialization stack.
2021-07-29bsps/cache: Optimize smp_cache_broadcast()Sebastian Huber1-1/+2
Directly call the handler on the executing processor instead of doing this indirectly via a per-CPU job.
2021-07-28score: Canonicalize _CPU_Fatal_halt()Sebastian Huber5-35/+25
Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it is a proper declaration of a function which does not return. Fix the type of the error code. If necessary, add the implementation to cpu.c. Implementing _CPU_Fatal_halt() as a function makes it possible to wrap this function for example to fully test _Terminate().
2021-07-27bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber36-148/+90
Do not return a status code in bsp_interrupt_facility_initialize() since this leads to unreachable code in bsp_interrupt_initialize(). Use RTEMS_DEBUG assertions in bsp_interrupt_facility_initialize() if necessary.
2021-07-26bsp/raspberrypi: Add interrupt get/set affinitySebastian Huber1-0/+26
Add default implementations for bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() which are required to link all tests in SMP configurations. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_entry_install()Sebastian Huber11-523/+669
Add rtems_interrupt_entry_remove(). Split up irq-generic.c into several files. In particular, place all functions which use dynamic memory into their own file. Add optional macros to let the BSP customize the vector installation after installing the first entry and the vector removal before removing the last entry: * bsp_interrupt_vector_install() * bsp_interrupt_vector_remove() Use these new customization options in the m68k/genmcf548x BSP so re-use the generic interrupt controller support. Update #3269.
2021-07-26bsps/irq: Move bsp_interrupt_handler_is_empty()Sebastian Huber3-30/+11
This function is only used by one BSP. Update #3269.
2021-07-26bsps/irq: Add bsp_interrupt_check_and_lock()Sebastian Huber3-63/+86
Return RTEMS_INCORRECT_STATE instead of RTEMS_INTERNAL_ERROR in case the interrupt support is not initialized. This is similar to rtems_timer_server_fire_after() for example. Update #3269.
2021-07-26bsps/irq: Use rtems_interrupt_entrySebastian Huber3-25/+16
Update #3269.
2021-07-26sparc/irq: Implement new interrupt directivesSebastian Huber6-22/+162
Update #3269.
2021-07-26bsps/irq: Implement new directives for GICv2/3Sebastian Huber4-32/+189
Update #3269.
2021-07-26bsps/irq: bsp_interrupt_set_affinity()Sebastian Huber14-18/+30
Return a status code for bsp_interrupt_set_affinity(). Update #3269.
2021-07-26bsps/irq: bsp_interrupt_get_affinity()Sebastian Huber15-23/+38
Return a status code for bsp_interrupt_get_affinity(). Update #3269.
2021-07-26bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber37-45/+94
Return a status code for bsp_interrupt_vector_disable(). Update #3269.
2021-07-26bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber37-45/+94
Return a status code for bsp_interrupt_vector_enable(). Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber37-1/+438
Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber37-2/+337
Add a default implementation which clears the attributes to zero and just returns RTEMS_SUCCESSFUL for valid parameters. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_raise()Sebastian Huber39-0/+664
Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
2021-07-26bsps/irq: Add rtems_interrupt_vector_is_enabled()Sebastian Huber37-1/+437
Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
2021-07-26rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber1-7/+5
Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT as the fatal source for spurious interrupts. Use the interrupt vector number of the spurious interrupt for the fatal code. Update #3269.
2021-07-26rtems: Add rtems_interrupt_vector_enable()Sebastian Huber3-0/+61
Add rtems_interrupt_vector_disable(). Update #3269.
2021-07-26bsps/irq: Move handler iterate to separate fileSebastian Huber5-82/+159
Update #3269.
2021-07-26bsps/irq: Canonicalize get/set affinity errorsSebastian Huber1-2/+10
Bring the error conditions and status in line with rtems_task_get_affinity() and rtems_task_set_affinity(). Update #3269.
2021-07-26bsps/irq: Move get/set affinity to separate fileSebastian Huber4-52/+92
Update #3269.
2021-07-23bsps: Fix bsp_fatal_extension()Sebastian Huber1-0/+3
The heap protection is conditional.
2021-07-23bsp: Remove fatal from exit(0). Add extended heap error outputChris Johns1-13/+70
2021-07-20Fixes for TMS570 BSPRobin Mueller1-3/+3
When compiling the lwIP port for the TMS570, there were issues with the BSP. Headers are expected in a folder named ti_herc which did not exist. This fixes the issue. Furthermore, there were multiple warnings about define redefinitions. This was fixed as well.