Commit Graph

36656 Commits

Author SHA1 Message Date
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
Sebastian Huber
c88feda145 bsp/virtex4: Use default fatal extension
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
5ea022ff12 bsps/riscv: Provide bsp_reset()
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
002c6067ba bsps: Add fatal source/code to bsp_reset()
Mark bsp_reset() as no-return.  Use default BSP fatal handler in lm32 and m68k
BSPs.  Remove empty bsp_reset() implementation.

Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
aeae283541 bsp/mvme5500: Use default fatal extension
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
be9f339420 bsp/beatnik: Use default fatal extension
Update #5067.
2024-08-23 14:54:37 +00:00
Sebastian Huber
755474b78a bsp/altera-cyclone-v: Use default fatal extension
Update #5067.
2024-08-23 14:54:37 +00:00
shuhua hua
991b3b1695 Unify the parameters in the function declaration 2024-08-20 06:40:46 +00:00
Loris Nardo
606584d032 msdos: Fix file truncated to 0
Previously the first cluster of the file was not updated when
truncating to 0 but was in any case freed.
Now the first cluster of the file is updated during the truncation,
leaving the directory entry in a consistent state.

Closes #2757
2024-08-15 15:42:26 +00:00
Kinsey Moore
73918bc788 cpukit/libblock: Close all valid FDs
This is intended to close any valid FDs that were opened, but 0 is also
a valid FD. This change ensures that a FD of 0 is also closed properly.

Coverity CID 1467408 (original)

Coverity CID 1616151 (followup)

off_by_one: Testing whether handle fd is strictly greater than zero is
suspicious. fd leaks when it is zero.
2024-08-12 13:21:09 -05:00
Karel Gardas
d81bf04501 bsps/stm32h7: Workaround STM32 H7 errata by enforcing aligned access only
The patch changes compiler ABI flags option and adds -mno-unaligned-access
there. Usage of this option is also officially recommended way
by the errata document how to work around the issue. For more details
about the errata please see referenced issue number.

Closes #5110.
2024-08-11 22:43:39 +00:00
Loris Nardo
9c57576a4b open: Fix race condition when called with O_TRUNC
Fix a race condition in which a file opened with O_TRUNC is made
available to other file functions expecting a file descriptor before
the truncation is performed.

This is only possible if the other thread was using an invalid file
descriptor as the open call has yet to finish.

Closes #5109
2024-08-11 18:58:20 +00:00
Matheus Pecoraro
7440264601 amd64: Move APIC implementation out of clock.c
- Move the APIC implementation to its on file instead of having it in clock.c;
- Use the MADT for retrieving the Local APIC base address;
- Initialize the APIC during interrupt initialization.
2024-08-11 07:38:35 +00:00
Matheus Pecoraro
0665da8f1d amd64: Allow early ACPICA table subsystem init
Add a method for initializing the ACPICA table subsystem earlier than
the initilization of the entire ACPICA subsystem. Also add a method to
walk through the subtables of an ACPI table
2024-08-11 07:38:35 +00:00
Joel Sherrill
f920b6f1e4 cpukit/score/src/kern_ntptime.c: Use time_t not a 32-bit type
A time_t (tv_sec) was being assigned to a 32-bit variable. This
introduced a Y2038 issue.

Coverity CID 1512505

Closes #5111.
2024-08-11 02:31:27 +00:00
Joel Sherrill
5e6d7dca8f libblock/src/bdpart-register.c: Do not pass bad value to close()
Coverity CID 1467408

close() was called and fd can potentially be negative.

Closes #5113.
2024-08-11 02:30:19 +00:00
Ning Yang
447f767abc aarch64/raspberrypi: Add Watchdog Timer driver 2024-08-11 02:08:51 +00:00
Joel Sherrill
a51b7d4b57 objectinitializeinformation.c: Add Assert for API index too high
Coverity Scan spotted the possibility that the
_Objects_Information_table could be over-indexed if the API
value provided was too high. This function is only used during
initialization and the input should be trusted. Adding a debug
_Assert() emphasizes this trust.

Coverity CID 1512508

Closes #5084.
2024-08-11 01:31:01 +00:00
zak liang
4337300649 lashdisk.c: Invalid printf format string 2024-08-10 17:16:39 -04:00