Commit Graph
110 Commits
Author SHA1 Message Date
Sebastian Huber 85a378510d bsps/irq: bsp_interrupt_set_affinity()
Return a status code for bsp_interrupt_set_affinity().

Update #3269.
2021-07-26 19:57:31 +02:00
Sebastian Huber 23ec04c48c bsps/irq: bsp_interrupt_get_affinity()
Return a status code for bsp_interrupt_get_affinity().

Update #3269.
2021-07-26 19:57:31 +02:00
Sebastian Huber 32f5a195d7 bsps/irq: bsp_interrupt_vector_disable()
Return a status code for bsp_interrupt_vector_disable().

Update #3269.
2021-07-26 19:57:31 +02:00
Sebastian Huber bc86a5fa84 bsps/irq: bsp_interrupt_vector_enable()
Return a status code for bsp_interrupt_vector_enable().

Update #3269.
2021-07-26 19:57:30 +02:00
Sebastian Huber deb5afb2f2 bsps/irq: Add rtems_interrupt_is_pending()
Add a default implementation which just returns RTEMS_UNSATISFIED.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber eebecd09fa bsps/irq: Add rtems_interrupt_get_attributes()
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber 9832652c53 bsps/irq: Add rtems_interrupt_raise()
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-26 07:54:25 +02:00
Sebastian Huber 781213f9ec bsps/irq: Add rtems_interrupt_vector_is_enabled()
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber 94cf67ca66 bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAX
This define is no longer used.

Update #3269.
2021-06-24 11:36:27 +02:00
Sebastian Huber cd5573c09d bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNT
Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT.

After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be
removed and replaced by BSP_INTERRUPT_VECTOR_COUNT.  The
BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no
interrupt vector at all.  Using COUNT instead of MAX may avoid some
interpretation issues, for example is the maximum value a valid vector number
or not.

Update #3269.
2021-06-24 11:35:49 +02:00
Sebastian Huber af73b7b64b bsps/irq: Remove BSP_INTERRUPT_VECTOR_MIN
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector
numbers start with zero.

The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit
and building all BSPs.

Update #3269.
2021-06-24 11:35:49 +02:00
Sebastian Huber af69a8693b grlib: Add apbuart_outbyte_wait() 2021-06-17 12:58:33 +02:00
Sebastian Huber 85febe7b10 grlib: Remove NL -> CR in apbuart_outbyte_polled()
This is already done in rtems_putc().
2021-06-17 12:58:33 +02:00
Sebastian Huber 2c07f24af2 grlib: Add ambapp_plb()
Replace the global variable ambapp_plb with a function to allow an automatic on
demand initialization.
2021-06-17 12:58:33 +02:00
Sebastian Huber e10dec0fe7 bsps: Support RTEMS_NOINIT in linkcmds
Update #3866.
2021-05-02 18:41:21 +02:00
Vijay Kumar Banerjee c90fa83041 bsps: Remove networking drivers
Update #3850
2021-04-07 16:15:38 -06:00
Jan Sommer 1343fb5f01 bsps/riscv: Add per cpu clock interrupt
- Fixes failure of test smpclock01
2021-03-23 09:17:38 +01:00
Sebastian Huber 570992dc27 bsp/riscv: Re-license to BSD-2-Clause
Change license to BSD-2-Clause according to file history.

Update #3053.
2021-02-09 08:18:58 +01:00
Sebastian Huber b361eabd93 bsps: Replace bsp_specs with an empty file
This fixes an issue with the latest tool chain which adds the default
linker script in the endfile specification.

Update #3250.
2021-01-28 06:28:33 +01:00
Sebastian Huber 9eb9813dc1 bsps: Add missing DWARF 5 sections
Sort alphabetically.
2021-01-26 15:29:36 +01:00
Sebastian Huber 33c12d5f92 bsps: Support DWARF 5 sections
GCC 11 uses DWARF 5 by default.
2021-01-25 12:56:00 +01:00
Jiri Gaisler b4c29b54e7 Add networking support for griscv bsp
* Only GRETH device supported for now
	* Fix endian problem in GRETH driver
	* Remove SPARC assembly from greth.c
	* Builds with both autoconf and waf
2020-11-09 09:35:11 +01:00
Sebastian Huber e1a0e0c308 grlib: Add and use irqmp_has_timestamp()
Replace leon3_irqmp_has_timestamp() with irqmp_has_timestamp() and move
it to grlib.h.

Close #4128.
2020-10-10 14:00:37 +02:00
Sebastian Huber e8450a6c36 bsps/riscv: Add bsp_fdt_map_intr()
This function is required by libbsd.
2020-09-23 07:35:05 +02:00
Hesham Almatary 4897a82dec riscv: Make sifive_test finisher 4 bytes
QEMU is now stricter with MMIO sizes and accesses. uintptr_t on RV64
is 8 bytes and generates an sd instruction that Store/AMO faults
because sifive_test MMIO expects 4 bytes accesses.
2020-09-17 09:01:51 +01:00
Sebastian Huber 2786b0aa38 bsps/riscv: Use far jump to boot_card()
Use a far jump to avoid errors like this:

relocation truncated to fit: R_RISCV_JAL against symbol `boot_card'
2020-09-15 09:20:27 +02:00
Hesham Almatary 764ea57879 htif_console_handler is defined in htif.c
closes #4069.
2020-09-06 16:11:45 -05:00
Sebastian Huber d556af3605 bsps: Always install IPI in SMP configs
The inter-processor interrupt (IPI) may be used to process per-CPU jobs.
See for example the blocked handler in T_interrupt_test().

Update #3199.
2020-08-31 16:19:53 +02:00
Sebastian Huber d35722e66c bsps/riscv: Fix multiple definition 2020-04-10 19:56:50 +02:00
Sebastian Huber 0161b93d50 imfs: Replace devfs with an IMFS specialization
Add a simplified path evaluation function IMFS_eval_path_devfs() for a
device only IMFS configuration.

The code size can be further reduced by the application if it disables
the support for legacy IO drivers via:

  #define CONFIGURE_IMFS_DISABLE_MKNOD
  #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE

Obsolete CONFIGURE_MAXIMUM_DEVICES.  Remove BSP_MAXIMUM_DEVICES.

Update #3894.
Update #3898.
2020-03-09 17:26:54 +01:00
Sebastian Huber c344e5828c Use RTEMS_SYSINIT_ORDER_LAST_BUT_5
Use RTEMS_SYSINIT_ORDER_LAST_BUT_5 instead of RTEMS_SYSINIT_ORDER_LAST
to allow applications and support functions to place system
initialization handlers behind the standard handlers.

Update #3838.
2020-02-04 06:06:42 +01:00
Sebastian Huber ffa1153170 bsps: Add RamEnd to linker command files
Update #3838.
2020-02-04 05:52:28 +01:00
Sebastian Huber f4fda72f65 Regenerate headers.am 2019-11-29 19:01:48 +01:00
Sebastian Huber ae5546704d bsp/riscv: Fix format and warnings
Update #3785.
2019-11-14 11:48:33 +01:00
Sebastian Huber e9ae74369d bsp/riscv: Fix use of uninitialized integer 2019-11-14 11:48:32 +01:00
Sebastian Huber df9426f970 bsp/riscv: riscv_get_core_frequency()
Always provide this function.  Return 0 by default.  Fix formatting.
Simplify function.

Update #3785.
2019-11-14 11:48:28 +01:00
Hesham Almatary 044687d335 bsps/riscv: UART - Read reg-shift from DTB to properly set/get registers 2019-10-30 09:30:09 +00:00
Hesham Almatary 94481cedc4 riscv: Add new BSP cfg variants to be built with llvm/clang 2019-10-27 10:45:31 +00:00
Hesham Almatary ce5988e10a riscv: Add new offending input sections to the linker script 2019-10-27 10:45:20 +00:00
Hesham Almatary 7f0c41c759 riscv: Add NOLOAD directive to the .work section
ld.lld defaults .work to PROGBITS otherwise
2019-10-27 10:45:14 +00:00
Hesham Almatary f462bcbb0a riscv: Address differences in the linkerscript between GNU LD and LLVM/LLD
LLVM/LLD does not support STARTUP and ALIGN_WITH_INPUT directives that
GNU LD support. INPUT and ALIGN(8) are supported by LLVM/LLD and can
replace the unsupported STARTUP/ALIGN_WITH_INPUT directives.

The commit conditionally adds the supported directive that linkers
can understand depending on the toolchain used to compile RTEMS
i.e., clang or gcc. Clang is assumed to use LLD by default.
2019-10-27 10:45:00 +00:00
Hesham Almatary ca82ded785 riscv: Generate linkcmds.base from the shared linkcmds.base.in
This commit moves the existing linkcmds.base to linkcmds.base.in
in order to make it configurable by autotools.
2019-10-27 10:44:52 +00:00
Pragnesh Patel a7f5e42cc5 riscv: add freedom E310 Arty A7 bsp
Added support for Sifive Freedom FE310 soc on Arty A7 FPGA board.
Update #3785.

Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
2019-10-23 08:11:50 +02:00
Sebastian Huber ad87de4a67 score: Rename _SMP_Get_processor_count()
Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be
in line with the API level rtems_scheduler_get_processor_maximum().

Update #3732.
2019-04-11 09:19:12 +02:00
Sebastian Huber f9219db2a9 rtems: Add rtems_scheduler_get_processor_maximum()
Add rtems_scheduler_get_processor_maximum() as a replacement for
rtems_get_processor_count(). The rtems_get_processor_count() is a bit
orphaned. Adopt it by the Scheduler Manager. The count is also
misleading, since the processor set may have gaps and the actual count
of online processors may be less than the value returned by
rtems_get_processor_count().

Update #3732.
2019-04-09 08:06:46 +02:00
Sebastian Huber 828276b081 bsps: Adjust shared Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Sebastian Huber c991eeeccc bsps: Adjust bsp.h Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Sebastian Huber 212663bede bsps: Adjust architecture Doxygen groups
- Use CamelCase as it is not used in our C code.  Enables simple search and
   replace.

 - Prefix with "RTEMS" to aid deployment and integration.  It aids
   searching and sorting.

Update #3706.
2019-03-04 07:51:38 +01:00
Jiri Gaisler 568490a054 griscv: add additional cpu configurations
* Also switch default config to imafd as the C extension
	  is not supported for code coverage
2019-02-08 13:07:27 +01:00
Jiri Gaisler d3d4e77c42 riscv: add griscv bsp
Update #3678.
2019-01-22 12:50:09 +01:00