Commit Graph

36284 Commits

Author SHA1 Message Date
Kinsey Moore
cd12bf025d testsuites/jffs2: Add test for empty NOR FS
This adds a test to very that remounting a completely used, but empty
NOR JFFS2 filesystem is possible. Previously, this triggered an edge
condition in the JFFS2 scan code that prevented remount of a correctly
formed and uncorrupted filesystem.
2024-02-26 11:07:53 -06:00
Kinsey Moore
e3972d71ef cpukit/jffs2: Handle used empty file system
On JFFS2 file systems on NOR flash or dataflash that does not have spare
area for metadata and thus does not invoke delayed writes, it is
possible to put the file system into a state where all blocks have been
written to and all files have been deleted from the filesystem. There is
a bug in the JFFS2 file system scan routine that detects this situation
as a corrupted file system since the scan routine relies on "used" space
to discriminate a valid file system when there are blocks that need to
be erased. The correct fix would require a partial rewrite of the scan
routine, so instead this patch tracks the space marked as obsolete along
with space at the end of each block that is otherwise too small to
contain a JFFS2 node so that it can me compared with the dirty space.
Corrupted data (or otherwise non-JFFS2 blocks) will still cause this
check to fail as corrupted data isn't recognized as obsoleted (deleted)
nodes.
2024-02-26 11:07:53 -06:00
Kinsey Moore
5df1d15e8b spec/zynqmp-rpu: Clean up options
The RAM origin had an unnecessary alignment requirement and the RAM
lenght had a reference that couldn't possibly be used. This removes
those obsolete option specifiers.
2024-02-23 08:36:12 -06:00
Joel Sherrill
00e71f0b4b arm/altera-cyclone-v/README: Fix use of CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
The proper name is now CONFIGURE_MAXIMUM_FILE_DESCRIPTORS.
2024-02-23 08:35:59 -06:00
Sebastian Huber
e9c7ba3e05 libtest: Improve gcov info dump
Make sure there is no spurious empty line between the gcov info and the

*** END OF GCOV INFO BASE64 ***

line.  This helps to recalculate the hash correctly at the consumer
side.
2024-02-22 14:30:40 +01:00
Kinsey Moore
6b1222465e testsuites/dl11: Test TLS on a secondary thread
This adds a pthread that runs the test as well to increase test
coverage. The original test would have passed if all threads returned
the address of the Init task's errno since no additional threads or
tasks were checked.
2024-02-19 09:26:10 -06:00
Kinsey Moore
8f8f043234 bsps/qspipsu: Calculate correct parallel mode size
Stacked mode doubles the number of sectors and device size while
parallel mode doubles the sector size and the device size. Make sure
that this is accounted for in the device size accessor.
2024-02-19 09:26:04 -06:00
Sebastian Huber
fa3a918a2a doxygen: Fix link format 2024-02-16 09:32:04 +01:00
Sebastian Huber
fa17765bd4 crc: Add a CRC-24Q implementation 2024-02-16 09:32:04 +01:00
Matthew Joyce
2757b36098 base64: Add decoder 2024-02-16 09:32:04 +01:00
Sebastian Huber
c90e2b2fb2 base64: Make base64 encoding tables public
This makes them reusable.  Change the character type to uint8_t.
2024-02-16 09:32:04 +01:00
Sebastian Huber
317df86ba3 base64: Move base64 encoding support 2024-02-16 09:32:04 +01:00
Kinsey Moore
8d22b57969 i386: Restore SMP functionality
When the switch to waf occurred, the SMP support in i386 was left out
causing it to accumulate a minor amount of cruft. This enables SMP for
the i386 BSPs that support it and updates them for the API drift that
has occurred since the change.
2024-02-14 08:22:48 -06:00
Adrien Chardon
b1fdf75338 bsp/tms570: Fix console receive interrupts
`tms570_sci_interrupt_handler()` is called when an RX interrupt fires. It checks
in the register `FLR`, the `RXRDY` bit (Receiver ready flag - indicate that the
SCIRD contains new data). If it is set, it calls
`tms570_sci_read_received_chars()`.

`tms570_sci_read_received_chars()` checks the register `RD` against 0. If it is
non zero, it returns 1 to indicate that one byte was read.

In the old behavior, if it is zero, the function returns 0 to indicate that no
data was read.

The new behavior is to not silently drop 0x00 bytes. Ignoring 0x00 bytes is fine
when working with printable text (which, I assume, is how this driver was
tested), but as soon as the UART is used in non canonical (raw) mode, with
potentially 0x00 bytes, these bytes will be silently dropped, causing issues in
the data/protocol layer above.

Update #4982.
2024-02-01 07:54:57 +01:00
Kinsey Moore
b03aba3023 cpukit/libblock: Ignore sync status prior to purge 2024-01-31 14:03:33 -06:00
Kinsey Moore
0d5319d49a cpukit/libblock: Ignore error notify return value
This is already in the error path.
2024-01-31 14:03:33 -06:00
Christian Mauderer
55a1b9accd bsps/qoriq: Add VME support for MVME2500
This enables the VME support for the MVME2500. Note that the PCIe
support from libbsd is used. So you need the related libbsd patches for
this to work.

If the drivers in libbsd are not enabled, the linker should not pick up
anything from this patch.
2024-01-31 09:54:57 +01:00
Christian Mauderer
529b70c828 bsps/qoriq: Allow setting EIRQ polarity and sense
Add a function that allows to set the polarity (active-low / negative
edge triggered or active-high / positive edge triggered) and sense
(level or edge sensitive) of the external interrupts.
2024-01-31 09:54:57 +01:00
Christian Mauderer
c9dda8cda8 bsps/qoriq: Add MMU regions for PCIe based on fdt
Get the memory ranges for the PCIe from the FDT and add them to the MMU.
This is necessary so that the PCIe driver in libbsd can work.
2024-01-31 09:54:57 +01:00
Kinsey Moore
9a95f9c638 cpukit/libblock: Ignore return value on error path 2024-01-29 11:08:19 -06:00
Kinsey Moore
4c948a6ae5 cpukit/cache: Report coherent add area failures
This alters the API for rtems_cache_coherent_add_area to allow reporting
of failures that can occur during the process of adding a new area to
the coherent cache heap.
2024-01-26 08:19:15 -06:00
Kinsey Moore
572c95c375 cpukit/dosfs: Simplify expressions where possible 2024-01-22 09:56:40 -06:00
Kinsey Moore
07ee157e5e cpukit/libmisc: Cast getpid() before shifting
Cast getpid() before shifting to avoid truncation of upper bits before
the 64bit XOR occurs.
2024-01-22 09:56:40 -06:00
Kinsey Moore
df8e3fcbb6 cpukit/libmisc/uuid: Check for invalid FD 2024-01-22 09:56:40 -06:00
Kinsey Moore
487cdce64d cpukit/dosfs: Don't leak a FAT FD
The tmp_fat_fd variable is unconditionally opened in the branch where it
is used within the loop and so must be closed or else risk a resource
leak.
2024-01-22 09:56:40 -06:00
Sebastian Huber
3626fe833d fstests/tftpfs: Fix build dependency
Update #4666.
2024-01-18 17:36:16 +01:00
Sebastian Huber
2ee0159ed8 build: Fix target of build script 2024-01-18 17:36:16 +01:00
Kinsey Moore
659a79ef8f cpukit/score: Avoid overflow in multiplication
Change extend_count to uint32_t from uint16_t to avoid a possible
premature integer overflow when it is later used for multiplication.
2024-01-17 10:48:25 -06:00
Kinsey Moore
46c343dd23 cpukit/dosfs: Remove unused internal function arg 2024-01-16 10:57:44 -06:00
Kinsey Moore
6383390886 cpukit: Remove or use unused variable assignments 2024-01-16 10:57:44 -06:00
Bernd Moessner
a73b52d6a4 flashdev.c: return error if both buffers are NULL
Updates #4981
2024-01-16 10:57:43 -06:00
Bernd Moessner
bd898b503f flashdev: Add missing default case
Updates #4981
2024-01-16 10:57:43 -06:00
Bernd Moessner
a43163d058 flashdev.h: Add missing C++ include guards
Updates #4981
2024-01-16 10:57:43 -06:00
Stanislav Pankevich
7eee05a37d bsps/xilinx-zynqmp-rpu: Invalidate caches on start
This corrects an issue where caches can be dirty on warm boot.
2024-01-16 10:57:43 -06:00
Sebastian Huber
df378641e6 bsp/tms570: Use TMS570_OSCILLATOR_MAIN
This option replaces BSP_OSCILATOR_CLOCK.  It may be used in PLL setup
calculatios.

Update #4982.
2024-01-15 10:34:08 +01:00
Sebastian Huber
9a961eec67 bsp/tms570: Remove unused BSP options
Update #4982.
2024-01-15 10:34:06 +01:00
Tyler Miller
b47c8188bf bsp/tms570: Update README
Update #4982.
2024-01-15 10:34:04 +01:00
Tyler Miller
449d836800 bsp/tms570: Board-specific tms570_emif_sdram_init()
Update #4982.
2024-01-15 10:34:02 +01:00
Tyler Miller
87be7eaba2 bsp/tms570: Board-specific tms570_pinmux_init()
Update #4982.
2024-01-15 10:34:00 +01:00
Tyler Miller
42e013a5dd bsp/tms570: Board-specific tms570_map_clock_init()
Update #4982.
2024-01-15 10:33:59 +01:00
Tyler Miller
b300b967ee bsp/tms570: Board-specific tms570_pll_init()
Update #4982.
2024-01-15 10:33:57 +01:00
Tyler Miller
53cbe74878 bsp/tms570: Initialize MPU
Update #4982.
2024-01-15 10:33:56 +01:00
Sebastian Huber
65831d71ed bsp/tms570: Optimize tms570_debug_console_out()
Reduce number of interrupt disable/enable actions.

Update #4982.
2024-01-15 10:33:54 +01:00
Sebastian Huber
5a2f64cf34 bsp/tms570: Initialize and enable caches on demand
Update #4982.
2024-01-15 10:33:52 +01:00
Sebastian Huber
663bedd59e bsp/tms570: Use bsp_start_copy_sections_compact()
There is no need to relocate the text and read-only data.

Update #4982.
2024-01-15 10:33:50 +01:00
Sebastian Huber
d4c6def68b bsp/tms570: Use shared bsp_start_hook_1()
Update #4982.
2024-01-15 10:33:49 +01:00
Sebastian Huber
e9634471d9 bsp/tms570: Add header guards
Update #4982.
2024-01-15 10:33:47 +01:00
Sebastian Huber
3f75b58d46 bsp/tms570: The TMS570LC4357 has no TCRAM modules
Update #4982.
2024-01-15 10:33:45 +01:00
Sebastian Huber
2db0844b87 bsp/tms570: Initialize SRAM on demand
Update #4982.
2024-01-15 10:33:43 +01:00
Sebastian Huber
23ba8d2c2c bsp/tms570: Use asm code for tms570_memory_init()
Make sure that we do not use the stack for this function.

Update #4982.
2024-01-15 10:33:41 +01:00