46 Commits

Author SHA1 Message Date
Joel Sherrill
44b86391e1 bsps/or1k: Address unused parameter warnings
Add "(void) param;" annotation to address unused parameter warnings.
Found with GCC's warning -Wunused-parameter.
2025-10-10 20:58:07 +00:00
Joel Sherrill
60e392e621 bsps/.../*/include/tm27.h: Add attribution to one-line implementations
Many tm27.h implementations were one line with no attribution.
Some were simply including a default non-functional implementation.
Others were including a header file giving an implementation based
on a standard counter/timer. This patch gives attribution based on
the split out being done by Sebastian Huber in 2017.
2025-09-08 20:02:56 +00:00
Joel Sherrill
8a9b574ed5 bsps/or1k/*: Add SPDX for RTEMS legacy license
These may still be relicensed but adding SPDX is needed.

Updates #4805.
2025-08-22 10:14:12 -05:00
Joel Sherrill
1a394709eb bsps/or1k/generic_or1k/btimer/btimer.c: Address misleading indentation
GCC warned that the indentation was misleading.
2025-07-24 18:28:16 -05:00
Kinsey Moore
4f5723e125 bsps: Remove post-link config files
These files are not currently useful in the tree and will be replaced by
a different post-link tool.

Updates rtems/programs/gsoc#74
2025-07-09 21:05:37 -05:00
Joel Sherrill
b65e36e2f4 generic_or1k/clock/clockdrv.c: Add cast on ISR installation
Add cast on clock ISR handler.
2025-07-04 13:17:34 -05:00
Kinsey Moore
18982404db bsps: Remove stale test configurations
Files ending in .tcfg are old tester configurations that are no longer
relevant since this configuration has been migrated to spec/../tst*.yml.
2025-07-03 18:21:50 -04:00
Amar Takhar
b714e4a809 ascii: Remove non-ASCII characters
We will soon be enforcing ASCII-only characters for source.
2025-05-22 19:35:12 +00:00
Joel Sherrill
98d38900aa bsps/or1k/generic_or1k: Relicense to 2-BSD
Hesham Almatary has given permission to relicense to 2-BSD.

Updates #3053.
2025-03-13 18:57:12 +00:00
Sebastian Huber
f43042cd06 bsps: Move <bsp/linker-symbols.h> to shared
Move architecture-independent items to a shared <bsp/linker-symbols.h>.
Allow architectures to customize it through <bsp/linker-symbols-arch.h>.
2024-10-11 01:27:48 +02:00
Amar Takhar
28180a1fa9 bsps: Convert README to MarkDown 2024-08-05 21:37:42 +00:00
the-m3chanic
53c2dc6b7a or1k: modified linkcmds.base to add gdb-inlined script support 2024-08-05 21:29:58 +00:00
Sebastian Huber
1eed6f8bfc bsps: Avoid unused argument in clock interrupt
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.
2024-03-20 16:34:09 +01:00
Sebastian Huber
bb465c8548 doxygen: Add Doxygen files to a group
Update #3707.
2023-02-16 08:27:09 +01:00
Sebastian Huber
6136e28bf9 clockdrv: Add clock driver implementation group
Use standard wording in Clock Driver related files.

Update #3706.
2023-01-24 09:56:53 +01:00
Sebastian Huber
21a36ed19b bsps: Fix .data.rel.ro placement
The .data.rel.ro* linker input section pattern accidentally matches with
writeable data those symbol name starts with "ro".

Close #4701.
2022-08-12 10:10:17 +02:00
Sebastian Huber
5ed0035377 bsps: Sort .noinit* sections
Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name.  This allows the placement of begin/end symbols to
initialize some areas with a special value.

Update #4678.
2022-07-15 10:46:02 +02:00
Joel Sherrill
dd70c81699 bsp_specs: Delete last remnants of these.
Updates #3937.
2021-11-29 08:50:03 -06:00
Sebastian Huber
db8f598d56 build: Remove old build system
Close #3250.
Close #4081.
2021-09-21 07:39:09 +02:00
Sebastian Huber
5210c7c219 bsp/generic_or1k: Remove incomplete IRQ support
Update #3269.
2021-06-24 11:35:49 +02:00
Sebastian Huber
e10dec0fe7 bsps: Support RTEMS_NOINIT in linkcmds
Update #3866.
2021-05-02 18:41:21 +02: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
5b064a49f9 bsps: Remove unused bsp_stack_main_size 2020-12-03 15:41:38 +01:00
Sebastian Huber
ffa1153170 bsps: Add RamEnd to linker command files
Update #3838.
2020-02-04 05:52:28 +01: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
Sebastian Huber
0a1f5df98e Simplify _CPU_Counter_difference()
In order to simplify the use of CPU counter values it is beneficial to
have monotonic increasing values within the range of the CPU counter
ticks data type, e.g. 32-bit unsigned integer.  This eases the use of
CPU counter timestamps in external tools which do not know the details
of the CPU counter hardware.  The CPU counter is the fastest way to get
a time on an RTEMS system.

Such a CPU counter may be also used as the timecounter.  Use it on SPARC
for this purpose to simplify the clock drivers.

Update #3456.
2018-12-07 14:22:01 +01:00
Joel Sherrill
e447d4c0dd generic_or1k-testsuite.tcfg: Enable sptls01 now that GCC is from FSF master
Closes #3391.
2018-11-29 16:46:06 -06:00
Sebastian Huber
5f32da0b69 bsp/or1k: Use interrupt stack for init stack
Update #3459.
2018-11-14 08:00:00 +01:00
Sebastian Huber
28bf4cae78 or1k: Support GCC 9
Close #3602.
2018-11-14 07:02:03 +01:00
Sebastian Huber
54c5ffca4f or1k: Remove use of proc_ptr
Update #3585.
2018-11-12 13:25:43 +01:00
Joel Sherrill
023bd1d431 or1k/shared/cache/cache.c: Remove unused methods 2018-10-18 12:05:40 -05:00
Sebastian Huber
715d6167e0 bsps: Support .rtemsstack.* linker input sections
Use a dedicated memory region or place it between the BSS and workspace.

Update #3459.
2018-06-27 08:58:16 +02:00
Sebastian Huber
7ee5931393 Remove Clock_driver_support_shutdown_hardware()
The aim of this clock driver hook was to stop clock tick interrupts at
some late point in the exit() procedure.

The use of atexit() pulls in malloc() which pulls in errno. It is
incompatible with the intention of the
CONFIGURE_DISABLE_NEWLIB_REENTRANCY configuration option.

The exit() function must be called from thread context, so accompanied
clock tick interrupts should cause no harm.  On the contrary, someone
may assume a normal operating system operation, e.g. working timeouts.

Remove the Clock_driver_support_shutdown_hardware() clock driver hook.

Close #3436.
2018-06-27 08:58:16 +02:00
Sebastian Huber
b0c3ba2f84 bsps: Remove superfluous bsp_processor_count
This is unused copy and paste stuff.

Update #3459.
2018-06-19 15:26:13 +02:00
Sebastian Huber
eb36d1198c bsps: Move documentation, etc. files to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-26 07:17:57 +02:00
Sebastian Huber
8f8ccee0d9 bsps: Move interrupt controller support to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-23 15:18:44 +02:00
Sebastian Huber
adb85dd473 bsps: Move make/custom/* files to bsps
Adjust various build files.  Remove automatic generation of the
c/src/lib/libbsp/*/acinclude.m4 files from bootstrap script.

This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-23 15:18:42 +02:00
Sebastian Huber
e0dd8a5ad8 bsps: Move benchmark timer to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:52:19 +02:00
Sebastian Huber
9964895866 bsps: Move startup files to bsps
Adjust build support files to new directory layout.

This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:52:14 +02:00
Sebastian Huber
fbcd7c8fa6 bsps: Move start files to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:08:36 +02:00
Sebastian Huber
d7d66d7d45 bsps: Move console drivers to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:08:32 +02:00
Sebastian Huber
7632906fc2 bsps: Move clock drivers to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 09:57:01 +02:00
Sebastian Huber
4cf93658ef bsps: Rework cache manager implementation
The previous cache manager support used a single souce file
(cache_manager.c) which included an implementation header (cache_.h).
This required the use of specialized include paths to find the right
header file.  Change this to include a generic implementation header
(cacheimpl.h) in specialized source files.

Use the following directories and files:

* bsps/shared/cache

* bsps/@RTEMS_CPU@/shared/cache

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY/start/cache.c

Update #3285.
2018-01-31 12:49:09 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00