| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Fixing the debug mask flag broke nested interrupts. This restores that
functionality.
|
|
|
|
|
|
| |
This adds support for libdebugger under AArch64 using software
breakpoints and the single-step execution mode present in all AArch64
CPUs.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This moves the AArch64 MMU memory type definitions into cpukit for use
by libdebugger since remapping of memory is required to insert software
breakpoints.
|
|
|
|
|
| |
This reworks the existing MicroBlaze architecture port and BSP to
achieve basic functionality using the latest RTEMS APIs.
|
| |
|
|
|
|
| |
This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
GICv2 can support up to 1024 interrupts, but ZynqMP hardware is only
configured for 192 interrupts.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Close #3250.
Close #4081.
|
| |
|
|
|
|
|
|
|
|
| |
- Trigger on a single character entering the RX FIFO
- Disable the RX timeout
- Send up to a FIFO full of data
|
|
|
|
| |
Added I2C drivers for ZynqMP and updated build system accordingly.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
- Wait for the tx holding register to empty in a tx flush
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Take the interrupt force register into account in all configurations.
Update #3269.
|
|
|
|
|
| |
Do not continue execution on processors which are not configured to prevent the
use of arbitrary memory for the initialization stack.
|
|
|
|
|
| |
Directly call the handler on the executing processor instead of doing this
indirectly via a per-CPU job.
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This function is only used by one BSP.
Update #3269.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3269.
|
|
|
|
| |
Update #3269.
|
|
|
|
| |
Update #3269.
|
|
|
|
|
|
| |
Return a status code for bsp_interrupt_set_affinity().
Update #3269.
|
|
|
|
|
|
| |
Return a status code for bsp_interrupt_get_affinity().
Update #3269.
|
|
|
|
|
|
| |
Return a status code for bsp_interrupt_vector_disable().
Update #3269.
|
|
|
|
|
|
| |
Return a status code for bsp_interrupt_vector_enable().
Update #3269.
|
|
|
|
|
|
| |
Add a default implementation which just returns RTEMS_UNSATISFIED.
Update #3269.
|
|
|
|
|
|
|
| |
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.
Update #3269.
|
|
|
|
|
|
|
|
|
| |
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
|
|
|
|
|
|
|
| |
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Add rtems_interrupt_vector_disable().
Update #3269.
|
|
|
|
| |
Update #3269.
|
|
|
|
|
|
|
| |
Bring the error conditions and status in line with
rtems_task_get_affinity() and rtems_task_set_affinity().
Update #3269.
|
|
|
|
| |
Update #3269.
|
|
|
|
| |
The heap protection is conditional.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|