Commit Graph

36674 Commits

Author SHA1 Message Date
Sebastian Huber
a9bff015f6 stackchk: Avoid implementation header in API
Update #5047.
2024-09-12 02:26:15 +00:00
Sebastian Huber
4abed2b422 stackchk: Fix Doxygen file comment
Update #5047.
2024-09-12 02:26:15 +00:00
Sebastian Huber
5b1c17f85a confdefs: Fix extensions.h
Resurrect proper file comment.  Order copyrights according to template.  Remove
white space at the end of line.  Do error checks early.  Define objects under
optional extern "C".

Update #5047.
2024-09-12 02:26:15 +00:00
alessandronardin
d670dafaa4 posix/lio_listio.c: corrected return when RTEMS_POSIX_API is undefined
Modified the body of lio_listio(), to make sure it return -1 and sets
errno to ENOSYS, when RTEMS_POSIX_API is not defined.

The psxenosys test has been modified to test for lio_listio() only
when RTEMS_POSIX_API is not defined. In the test all the puts() have
been removed. If kept they would have made the output of the test depending
on the build configuration, making the content of psxenosys.scn inconsistent.
Removing the puts() makes the .scn file valid regardless of the build
configuration.

Additionally, rtems_aio_notify() in aio_misc.c has been modified,
simplifying it and reducing the part inside the ifdef.

Closes #5125
2024-09-10 08:41:53 +02:00
Joel Sherrill
fe6b7bc3cb score/cpu/arm/cpu.c: Fine tune paravirtualization for interrupt set/get level 2024-09-10 02:45:07 +00:00
Joel Sherrill
f075fa55cd spmsgq_err[12]: Add message sizes to configuration
The test had hard-coded numbers for maximum messages and message sizes.
As a result, it did not configure the memory required for message
storage.
2024-09-09 18:49:49 -05:00
Kinsey Moore
6dee307542 bsps/stm32h7: Add SPI support
This adds support for the 6 SPI interfaces on the STM32H7 series chips
with an initial example for the stm32h750b discovery kit development
board. Configuration is similar to existing peripherals. Chip select
lines are software-controlled since the SPI peripheral only supports a
single hardware-controlled chip select line. This implementation does
not use interrupts.
2024-09-06 01:15:21 +00:00
Kinsey Moore
bcf0cee545 cpukit/stackchk: Explicitly cast from void* to uintptr_t 2024-09-06 01:15:21 +00:00
Kinsey Moore
243f88992f bsps/arm/irq: Avoid array comparison
This removes the array comparison warning by explicitly taking the
address of the arrays.
2024-09-06 01:15:21 +00:00
Kinsey Moore
5b13baf96a bsps/stm32h7: Resolve HAL const warning
HAL init functions take a non-const reference parameter. Explicitly cast
away the constness to remove the warning.
2024-09-06 01:15:21 +00:00
Kinsey Moore
31d2a2acb1 bsps/stm32h7: Resolve warning due to missing prototype 2024-09-06 01:15:21 +00:00
alessandronardin
acd2a24d64 cpukit/posix/src/aio_misc.c: Fix for illegal memory access.
CID 1618881:  Memory - illegal accesses  (USE_AFTER_FREE)
2024-09-05 23:13:25 +00:00
Karel Gardas
f61086a404 Revert "bsps/stm32h7: Workaround STM32 H7 errata by enforcing aligned access only"
This reverts commit d81bf04501.

The commit is reverted as this is only partial solution and remaining part
to fix properly is extremely hard and usually done in completely diffetrent
way. Hence let's not enforce compiler but rather enforce RTEMS/H7 users.
2024-09-03 00:39:54 +00:00
alessandronardin
1b6684ee2b cpukit/posix/aio*: Added support for lio_listio()
This commit adds support for lio_listio().
psxaio05 has been added to test the new method.
To avoid code duplication, the body of aio_read and aio_write has been
moved in two helper methods. In this way i can use it also in lio_listio().

In addition to that, a limit on the number of total aio operation enqueued
has been added.

Updates rtems/programs/gsoc#29
2024-09-02 18:16:30 +02:00
Kinsey Moore
ad51286e2b cpukit/stackchk: Remove additional offset of SANITY_PATTERN_SIZE_WORDS
This offset is already accounted for by Stack_check_Usable_stack_start()
called from Stack_check_Visit_stack() and adding it a second time can
cause interaction beyond the bounds of the stack.
2024-08-28 13:42:37 +00:00
Sebastian Huber
cb0a530503 arm: Fix FIQ default handler
Save the registers of the previous context and not the banked registers
of the FIQ mode.
2024-08-28 04:19:40 +02:00
Sebastian Huber
2598428809 arm: Add _CPU_Exception_resume() 2024-08-28 04:19:39 +02:00
Sebastian Huber
5f75cbaa74 arm: Fix system call default exception handler 2024-08-28 04:19:39 +02:00
Sebastian Huber
eb8a39e115 arm: Simplify default exception handling
Writes to the execution state bits of the CPSR through MRS instructions
are ignored.
2024-08-28 04:19:39 +02:00
Sebastian Huber
7915631552 arm: Simplify default exception handling
Do not clear the VFP context pointer twice.
2024-08-28 04:19:39 +02:00
Sebastian Huber
5d86677dfe bsps/arm: Add BSP_START_VECTOR_RESERVED_SLOT
Allow BSPs to customize the reserved vector table slot.  By default, use
an undefined instruction.
2024-08-28 04:19:39 +02:00
Sebastian Huber
2174ec336a arm: Remove _ARMV4_Exception_reserved_default()
The default exception handler uses the Save Program Status Register
(SPSR), however, if _ARMV4_Exception_reserved_default() would get
called, the state of this register is unpredictable.  Replace potential
calls to _ARMV4_Exception_reserved_default() with an undefined
instruction.
2024-08-28 04:19:39 +02:00
Sebastian Huber
ea0e89b9a0 arm: Remove unused _ARMV4_Exception_irq_default() 2024-08-28 04:19:39 +02:00
Sebastian Huber
bd48d10b4e arm: Mark _ARM_Exception_default() as no return
Remove dead code.
2024-08-28 04:19:39 +02:00
Sebastian Huber
1d5149e392 arm: Do not alter saved PSR in default FIQ handler
Make sure we save the real PSR of the previous context to the exception
frame.
2024-08-28 04:19:39 +02:00
Sebastian Huber
0f55591fd6 bsps: Option BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0
Add BSP option BSP_ARM_GIC_ENABLE_FIQ_FOR_GROUP_0 to customize the ARM
GIC support.  Enable this option for arm/altera-cyclone-v and
arm/xilinx-zynq BSPs by default.
2024-08-28 04:19:39 +02:00
Sebastian Huber
3a7dd0be37 dev/irq: Do not enable FIQ by default
The default FIQ handler terminates the system.  Delegate the FIQ
enabling to the place which installs a proper FIQ handler.
2024-08-28 04:19:39 +02:00
Sebastian Huber
4bcfe04e27 build: Use shared object item for ARM GIC
BSPs which do not use the ARM GIC no longer install the related header
files.
2024-08-28 04:19:38 +02:00
Joel Sherrill
3cb090e341 aio_fsync.c: Use calloc() to ensure memory is initialized
Coverity CID 1512532

Closes #5102.
2024-08-27 23:55:36 +00:00
Christian Mauderer
3b053f6919 bsps/shared: Add Abracom EOZ9 RTC driver
The EOZ9 RTC has a similar register interface like the MCP7940M (and
quite some other I2C RTCs). This commit:

* Extracts the generic parts from MCP7940M and moves it into a generic
  i2c-rtc driver.
* Uses the new i2c-rtc for the MCP7940M.
* Uses the new i2c-rtc for the new Abracom EOZ9.
2024-08-27 21:54:43 +00:00
Matheus Pecoraro
acf7c725ca x86_64: Add TLS support 2024-08-27 21:20:48 +00:00
Matheus Pecoraro
77850f9f04 x86_64/amd64: Add issues to TODO comments 2024-08-27 21:16:58 +00:00
Matheus Pecoraro
018e7ad407 x86_64: x86_64 port doxygen and license cleanup 2024-08-27 21:16:58 +00:00
Matheus Pecoraro
e93bbe6534 x86_64/amd64: Add SMP support
Adds SMP support for the x86_64 amd64 BSP.
2024-08-27 21:16:58 +00:00
Kinsey Moore
43a581c712 spec/zynqmp: Install ECC header definitions
This needs to be installed for applications to make use of ECC
functionality.
2024-08-27 14:09:56 -05:00
Chris Johns
94443d497b bsp/aarch64/zynqmp: Add support for more than 2G of DDR memory
Add support to configure the second region of DDR memory if the
BSP configured RAM size is greater than 2G.

Add the second region's memory to the heap.
2024-08-27 15:00:09 +10:00
Amar Takhar
07728e0913 Rename COPYING to LICENSE.md
This follows current conventions.

Two have been left behind for now until we decide what to do as they are
imports.

  * cpukit/compression/xz/COPYING
  * cpukit/libmisc/uuid/COPYING
2024-08-23 20:58:25 +00:00
Loris Nardo
b5767d2c60 jffs2: Add checks for long file name
Add filename length checks to prevent the creation of files and folders
that cannot be listed, unlinked or renamed by subsequent calls.
These changes are sufficient to make the jffs2fsrenamelongname and
jffs2nandfsrenamelongname testcases pass.

Updates #5073
2024-08-23 20:28:23 +00:00
Kinsey Moore
c2b3a517f6 bsps/stm32h7: Honor the intent of the MPU alignment option
Currently, if a BSP is built without MPU alignment enforcement, the MPU
is still enabled and can produce a non-functional binary since code can
be mixed with data within a memory region and memory regions are marked
as read-only or no-execute based on section addresses and sizes leading
to overlapping regions being defined which causes the later-defined
region to take precedence. This change disables the MPU when alignment
is not enforced, allowing the binary to function.
2024-08-23 17:20:40 +00:00
Sebastian Huber
3332e54772 score: Disable ISR for fatal extensions
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
e81a5db70e score: Remove unused _CPU_Fatal_halt()
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
e80883b406 score: Simplify _Terminate()
In _Terminate(), everything after invoking the fatal extensions is essentially
dead code.  Simplify this code block and provide a reasonable safe fall-back
for badly configured applications.  Just disable masked interrupts and execute
an idle loop.

Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
e2ce9d426a score: Mark _CPU_Thread_Idle_body() as no-return
This helps the compiler to not generate dead code.

Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
cd748d5f6b nios2: Use higher level error handling
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
5cc04d5419 bsps: Simplify build
All BSPs use the default fatal extension.

Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
9b7d36c6db bsp/mcf5225x: Remove unused file
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
450f0d7e90 bsp/mrm332: Remove unused file
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
2128201616 bsp/niagara: Use default fatal extension
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
2bb8ce9741 bsps/sparc: Use default fatal extension
Provide bsp_reset() through the sparc CPU port.

Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
ca96857962 bsp/virtex5: Use default fatal extension
Update #5067.
2024-08-23 14:54:37 +00:00