This fixes two related issues:
* Pbufs in the RX list weren't cleared out appropriately and this could
cause multiple frees along with premature pbuf/memp reuse in
circumstances where the system was running out of pbufs and receive
overruns were occurring.
* This patch adds locking around pbu
When writing out the Bad Block Table, write it to the targeted device
and ensure the block is appropriately mapped to the targeted device.
---
bsps/shared/dev/nand/xnandpsu_bbm.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/bsps/shared/dev/nand/xnandpsu_bbm.c
b/bsps/shared/dev/nand/xn
Expose functions to directly manipulate the bad block table (BBT). These
functions are necessary to correct possible BBT corruption caused by
bugs in the BBT management layer.
---
bsps/include/dev/nand/xnandpsu.h| 45 +
bsps/shared/dev/nand/xnandpsu_bbm.c | 41 +
Mark the BBT descriptor as invalid before scanning to ensure that
missing BBTs are detected and written correctly if necessary.
---
bsps/shared/dev/nand/xnandpsu_bbm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/bsps/shared/dev/nand/xnandpsu_bbm.c
b/bsps/shared/dev/nand/xnandpsu_bbm.c
The XNandPsu_EraseBlock function takes a target device and a block
offset for erasure. Ensure the block offset is within the size of the
target device.
---
bsps/shared/dev/nand/xnandpsu.c | 4
1 file changed, 4 insertions(+)
diff --git a/bsps/shared/dev/nand/xnandpsu.c b/bsps/shared/dev/nand
When marking the trailing blocks on a device as reserved for Bad Block
Table usage, ensure that the correct blocks are marked. This resolves an
off-by-one error that was marking one block too low and leaving the last
block in the device unmarked.
---
bsps/shared/dev/nand/xnandpsu_bbm.c | 4
1
The Bad Block Table is a per-device catalog of the dispositions of each
block in the device. Only read enough data to determine the dispositions
of blocks for the device being read.
---
bsps/shared/dev/nand/xnandpsu_bbm.c | 4
1 file changed, 4 insertions(+)
diff --git a/bsps/shared/dev/nand
The xnandpsu driver includes functionality to map back and forth between
the flash-based BBT and the memory-based BBT with the values in each
being a bitwise inversion of each other. This resolves several bugs in
this process and simplifies the inversion from operating on the block
representation t
The XNandPsu_IsBlockBad() function is insufficient for JFFS2 to
determine whether a block is usable since the function does not report
reserved blocks. JFFS2 is also unable to use the last 4 blocks of each
target attached to the NAND controller since they are reserved for the
Bad Block Table (BBT),
The inode cache can be altered and queried by multiple threads of
execution, even before the introduction of delayed write support for
NAND. This provides a new lock to prevent simultaneous modification of
the cache.
---
cpukit/libfs/src/jffs2/src/fs-rtems.c | 24 +++-
cpukit/l
This patch set resolves several issues with the Xilinx xnandpsu NAND
flash driver. I have an outstanding ticket with Xilinx (unfortunately,
not public) to get these and previous patches merged into the upstream
repository (embeddedsw).
___
devel mailing
Hello,
On 04.12.2023 22:37, Chris Johns wrote:
The issue has been resolved in gmp-6.3.0 for M silicon. I am how looking at:
https://lists.rtems.org/pipermail/users/2023-October/068894.html
and the crash is in a GMP call via MPFR. This is on Intel silicon on Ventura. I
have just run `make check
12 matches
Mail list logo