| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
|
|
|
|
|
|
|
|
|
| |
This patch adds support for the Kendryte K210 RISC-V BSP variant.
The SoC uses the existing Interrupt Controller, Timer, and console UART.
It only needs SoC specific initialization and an embedded device tree binary
similar to the polarfire SoC BSP.
Updates #4876
|
|
|
|
|
|
|
|
|
|
| |
variant
This patch adds the k210 device tree source and the corresponding
device tree blob encoded in the header which is used for the
embedded device tree blob for the Kendryte K210 BSP variant.
Updates #4876
|
|
|
|
|
| |
Use the mtimecmp from the PLIC/CLINT initialization in the clock driver. This
register is defined by the device tree and does not assume a fixed mapping.
|
|
|
|
| |
Take a non-zero RISCV_BOOT_HARTID into account.
|
|
|
|
|
|
|
| |
In SMP configurations, check that we run on a configured processor. If not,
then there is not much that can be done since we do not have a stack available
for this processor. Just loop forever in this case. Do this in assemlby to
ensure that no stack memory is used.
|
|
|
|
|
|
| |
Use standard wording in Clock Driver related files.
Update #3706.
|
|
|
|
|
|
|
| |
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.
Close #4820.
|
|
|
|
|
|
|
|
| |
Low-end configurations may want to have the HTIF support removed.
Enable the option by default. Fix formatting. Fix node validity
checks.
Updates #4779.
|
|
|
|
| |
Updates #4779
|
|
|
|
|
|
|
| |
The name handler table was a bit misleading after the last rework.
Rename it to distach table. Update the documentation accordingly.
Update #4769.
|
|
|
|
|
| |
In uniprocessor configurations there is no need to take interrupt affinities
into account for the interrupt vector enable/disable.
|
| |
|
|
|
|
| |
Move boot processor initialization of PLIC to separate function.
|
|
|
|
|
| |
The interrupt numbers in the device tree are usually PLIC interrupts. Map the
number to the vector number associated with an external interrupt.
|
|
|
|
|
|
|
| |
In SMP configurations, there may be no software interrupt handler
installed when the software interrupt is processed. Add the new
interrupt handler dispatch variant
bsp_interrupt_handler_dispatch_unlikely() for this special case.
|
|
|
|
| |
Each PLIC enable register has 32 bits, so we have to divide by 32.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This helps to run the interrupt API validation tests.
|
|
|
|
|
| |
Provide bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() only if
RTEMS_SMP is enabled. Replace fatal error with a status code.
|
|
|
|
| |
Implement bsp_interrupt_raise_on() and bsp_interrupt_raise().
|
|
|
|
| |
Implement this function.
|
|
|
|
| |
Implement this function.
|
|
|
|
| |
Add support for hart-specific software and timer interrupts.
|
|
|
|
| |
Add support for hart-specific software and timer interrupts.
|
|
|
|
| |
Implement this function.
|
|
|
|
| |
Implement this function.
|
|
|
|
|
|
|
|
|
|
| |
This fixes a problem with parsing the FDT compatible property by
replacing the RISCV_CONSOLE_IS_COMPATIBLE macro with calls to
the fdt_stringlist_contains function. The macro only works when
the compatible FDT entry is a single string and not a list of
strings. The new call will compare each item in the string list.
Close #4728.
|
|
|
|
|
| |
The _RISCV_Map_cpu_index_to_hardid() and _RISCV_Map_hardid_to_cpu_index()
functions must be available to all riscv BSPs.
|
|
|
|
|
|
|
|
| |
The Microchip PolarFire SoC support is implemented as a
riscv BSP variant to boot with any individual hart(cpu core)
or SMP based on the boot HARTID configurable and support
components are 4 CPU Cores (U54), Interrupt controller (PLIC),
Timer (CLINT), UART.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the basic Microchip PolarFire SoC device tree source and blob
The mpfs-dtb.h is generated by the bin2hex
https://github.com/padmaraob/bin2hex
1.Compile and build the bin2hex.c
$ gcc -o bin2hex bin2hex.c
2.Generate the mpfs.dtb from the mpfs.dts
$ dtc -O dtb -o mpfs.dtb mpfs.dts
3.Generate the mpfs-dtb.h Header file from the mpfs.dtb.
$ ./bin2hex mpfs.dtb
|
|
|
|
|
|
|
|
|
|
|
| |
Note: Resending after learning how to use git send-email, please disregard previous message.
This fixes the riscv fe310 console driver fe310_uart_read function. The function
reads the RX status/data register to check if data is available, but discards
the data and reads it a seconds time.
Also cleared the interrupt enable bit in the first_open function.
Close #4719
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for Cobham Gaisler NOEL-V systems. The NOEL-V support
is implemented as a riscv BSP. Both 32-bit and 64-bit processor
systems are supported. Cobham Gaisler's NOEL-V RISC-V processor IP
is described here:
https://www.gaisler.com/NOELV
Compatible with the following NOEL-V FPGA example design ranges
available from Cobham Gaisler. Follow the links for free
bit-streams, DTS/DTB, user's manuals and quick-start guides:
- NOEL-ARTYA7-EX (https://www.gaisler.com/NOEL-ARTYA7)
- NOEL-PF-EX (https://www.gaisler.com/NOEL-PF)
- NOEL-XCKU-EX (https://www.gaisler.com/NOEL-XCKU)
Uses the shared GRLIB APBUART console driver "apbuart_termios.c".
APBUART devices are probed using device tree.
Closes #4225.
|
| |
|
|
|
|
| |
Updates #3937.
|
|
|
|
|
| |
Close #3250.
Close #4081.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|