Commit Graph

36391 Commits

Author SHA1 Message Date
Sebastian Huber
ab8817ca03 rtems: Add get/set interrupt priorities
Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

* arm/lpc24xx
* arm/lpc32xx
* powerpc/mpc55xxevb
* powerpc/qoriq

Implement the directives for the following interrupt controllers:

* GICv2 and GICv3 (arm and aarch64)
* NVIC (arm)
* PLIC (riscv)

Update #5002.
2024-05-10 13:26:22 +00:00
Josef 'Jeff' Sipek
89ccc65d1a Remove a reference to xrpu from timetc.h
It was removed in 2007, so doesn't make a good example.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D44462
2024-05-10 13:24:36 +00:00
Jake Freeland
c71d561bf8 timerfd: Move implementation from linux compat to cpukit/score/src
Move the timerfd impelemntation from linux compat code to cpukit/score/src. Use
it to implement the new system calls for timerfd. Add a hook to kern_tc
to allow timerfd to know when the system time has stepped. Add kqueue
support to timerfd. Adjust a few names to be less Linux centric.

RelNotes: YES
Reviewed by: markj (on irc), imp, kib (with reservations), jhb (slack)
Differential Revision: https://reviews.freebsd.org/D38459
2024-05-10 13:24:36 +00:00
Warner Losh
7867005def sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2024-05-10 13:24:36 +00:00
Warner Losh
770ef97a45 sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
2024-05-10 13:24:36 +00:00
Dmitriy Alexandrov
426492407b kern_ntptime: Fix undefined behavior of the shift operator
L_LINT macro is used with negative numbers [i.e.
L_LINT(time_freq, -MAXFREQ)], it could cause undefined
behavior. It should be similar to the L_RSHIFT(v, n) macro.

MFC after:	2 weeks
Reviewed by:	cy
Pull Request:	https://github.com/freebsd/freebsd-src/pull/769
Signed-off-by: Dmitriy Alexandrov <d06alexandrov@gmail.com>
2024-05-10 13:24:36 +00:00
Warner Losh
e11536c339 spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with:		pfg
MFC After:		3 days
Sponsored by:		Netflix
2024-05-10 13:24:36 +00:00
Pedro F. Giffuni
b294ef236d sys/sys: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
2024-05-10 13:24:36 +00:00
Sebastian Huber
f6c8726cb7 bsps/arm: Move BSP-specific header file 2024-05-10 13:20:45 +00:00
Sebastian Huber
ee7f847432 bsps/arm: Use shared object for ARM920 MMU support 2024-05-10 13:20:45 +00:00
Sebastian Huber
5a3a85ccdd bsps/arm: Move BSP-specific header file installs 2024-05-10 13:20:45 +00:00
Sebastian Huber
dfc147fd33 aarch64/xilinx-zynqmp: Enable errata workarounds
Close #5003.
2024-05-08 12:19:07 +02:00
Sebastian Huber
40ddcf9580 bsps: Use interrupt entry in clock driver
This avoids a dependency on memory allocations.
2024-05-07 23:21:31 +00:00
Vincenzo Calabretta
1f4e0c1036 bsps/powerpc: Introduction of interrupt locks
Interrupt locks are introduced in shared vme device drivers to enable
compilation in an SMP configuration of the qoriq BSP.
2024-05-07 18:26:28 +02:00
Sebastian Huber
f5b52a3af0 bsps/arm: Fix Doxygen group assignment 2024-05-07 11:16:49 +02:00
Sebastian Huber
81f868ede4 bsps/arm: Add CMSIS files to Doxygen group 2024-05-07 11:16:49 +02:00
Sebastian Huber
7024401d76 bsps/arm: Add Doxygen group for Armv7-M SysTick
Change license to BSD-2-Clause according to file history and contributor
agreements.
2024-05-07 11:16:49 +02:00
Sebastian Huber
d19c322259 bsps/aarch64: Define Doxygen groups
Fix typos.
2024-05-07 11:16:49 +02:00
Sebastian Huber
dcdf399676 aarch64: Add files to Doxygen groups 2024-05-07 11:16:49 +02:00
Sebastian Huber
a8fba20baa bsps: Add Doxygen group for Arm Generic Timer 2024-05-07 11:16:49 +02:00
zhengxiaojun
4655ceee4d fix dynamic loading error, close #3740. 2024-05-03 18:03:13 +08:00
Ning Yang
00f0d307b4 bsps/aarch64/raspberrypi: Add system timer support
The clock from the ARM timer is derived from the system clock. This clock can
change dynamically e.g. if the system goes into reduced power or in low power
mode. Thus the clock speed adapts to the overall system performance
capabilities. For accurate timing it is recommended to use the system timers.

if BSP_CLOCK_USE_SYSTEMTIMER = 1, use the System Timer, otherwise use the ARM
Timer.
2024-04-30 01:39:06 -04:00
Sebastian Huber
d7447b2a5e validation: Fix typo 2024-04-30 01:39:06 -04:00
Sebastian Huber
ae00fcabed doxygen: Fix constraints
Somehow the constraints for CONFIGURE_TICKS_PER_TIMESLICE and
CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK got mixed up.

Update #4986.
2024-04-30 01:39:06 -04:00
Vincenzo Calabretta
b191af1619 bsp/qoriq: Include missing processormaskimpl.h 2024-04-30 01:39:06 -04:00
Sebastian Huber
76462bb64c bsps/arm: Improve GICv3 support
In addtion to 1023, the GICC_IAR register may return 1022 as a special value.
Simply check for a valid interrupt vector for the dispatching.

Check the GICC_IAR again after the dispatch to quickly process a next interrupt
without having to go through the interrupt prologue and epiloge.
2024-04-30 01:39:06 -04:00
Sebastian Huber
901e893087 arm/xen: Fix BSP_INTERRUPT_VECTOR_COUNT
Do not use reserved interrupt IDs.
2024-04-30 01:39:06 -04:00
Sebastian Huber
c594732cf2 validation: Improve bad thread dispatch validation 2024-04-30 01:39:06 -04:00
Sebastian Huber
286a80a80d validation: Test global construction on aarch64
Update #3716.
2024-04-30 01:39:06 -04:00
Sebastian Huber
bc7e6ae550 dev/irq: Improve Doxgyen group assignments
Make the GIC interrupt controller support a subgroup of the generic interrupt
controller support.
2024-04-30 01:39:06 -04:00
Sebastian Huber
39584528e9 bsps/arm: Improve GICv2 support
In addtion to 1023, the GICC_IAR register may return 1022 as a special value.
Simply check for a valid interrupt vector for the dispatching.

Check the GICC_IAR again after the dispatch to quickly process a next interrupt
without having to go through the interrupt prologue and epiloge.
2024-04-30 01:39:05 -04:00
Sebastian Huber
70029fc7be smptests/smpipi01: Fix sporadic test failure
Make sure that the last IPI is processed before the next test case is
carried out.
2024-04-30 01:39:05 -04:00
Sebastian Huber
a8ce68f002 smpmulticast01: Ignore SMP_FATAL_SHUTDOWN_RESPONSE
This fatal code is a part of the normal SMP termination procedure.
2024-04-30 01:39:05 -04:00
Sebastian Huber
2728023b24 testsuites/unit: Add tests for compiler builtins
On the arm target, __udivmoddi4() cannot be fully tested through normal
integer divisions.

Update #3716.
2024-04-30 01:39:05 -04:00
Ning Yang
b7a0e2a89b dev/clock: Move bcm2835-system-timer driver to shared space
This patch moves the bcm2835 system timer driver in the arm/raspberrypi directory to the shared directory and adjusts arm/raspberrypi BSP.
2024-04-30 01:39:05 -04:00
Sebastian Huber
087fc4351a bsps/xil-ttc: Improve clock driver
Make the clock driver parameters configurable.  Use the maximum counter
frequency to get the best time resolution.  Decouple the CPU counter from the
timecounter.  Make the tick catch up handling more robust.  Add a validation
test for the tick catch up.
2024-04-30 01:39:05 -04:00
Sebastian Huber
5a8e99546f bsps/xil-ttc: Add XIL_FATAL_TTC_IRQ_INSTALL 2024-04-30 01:39:05 -04:00
Sebastian Huber
42f86dfd75 bsps/xil-ttc: Use interrupt entry 2024-04-30 01:39:05 -04:00
Sebastian Huber
3f4fcc28df build: Install <rtems/score/processormaskimpl.h> 2024-04-30 01:39:05 -04:00
Sebastian Huber
83f0c0259b bsps: Include <rtems/score/processormaskimpl.h>
This fixes commit b678a199e499b6c3f0b453393434aefaee180423 for SMP
configurations.
2024-04-30 01:39:05 -04:00
Sebastian Huber
1d668054c0 bsp/qoriq: Do not build unused object 2024-04-30 01:39:05 -04:00
Sebastian Huber
237f8662ba score: Improve C/C++ standard compatibility
The processor mask implementation uses flsl() from <strings.h> which is
only BSD visible.  Move the implementation to a separate header file to
hide it from the API level.  This fixes build errors with GCC 14.
2024-04-30 01:39:05 -04:00
Sebastian Huber
7bc76732b0 validation: Fix powerpc in test case
The powerpc context switch restores the interrupt state.

Update #4955.
2024-04-30 01:39:05 -04:00
Bernd Moessner
b4c65f78a0 Fix: type-cast to wrong type 2024-04-30 01:39:05 -04:00
Amar Takhar
3d8ddd6230 Drop index.html from directory it loads by default.
Testing out the new approvers setup.

Refs administration/gitlab#35
2024-04-27 02:06:14 -04:00
Amar Takhar
e3429553ea Move to a toplevel approvers group.
approvers -> approvers/general
* -> approvers/*

Refs administration/gitlab#35
2024-04-27 01:27:48 -04:00
Amar Takhar
fb3d4a8f5a Add an additional line for consistency.
This is also to test the merge template which just sets the milestone.
2024-04-26 12:36:42 -04:00
Amar Takhar
64cdc31c2f Rename 'All Source' to 'General Approvers'
Makes it more clear who these approvers are.
2024-04-25 23:07:37 -04:00
Chris Johns
7db1948917 bsp/arm/zynq: Move README to README.md 2024-04-26 08:01:52 +10:00
Amar Takhar
3fc3a4f859 Convert README to MarkDown.
GitLab has it's own flavour and I've kept that in mind.

This greatly simplifies the document as well GitLab is quite a bit more verbose
than Trac was no need to replicate information.

This is just a first revision we can expand it as necessary.
2024-04-25 03:25:10 +00:00