nuttx/arch/mips
Daniel P. Carvalho 8eae6d950d arch/mips/pic32mz: fix the Ethernet D-Cache coherency.
VIRT_ADDR() converted the DMA buffer addresses to KSEG1, while the
buffers come from g_buffers, which is linked in KSEG0 when the data
memory is cached.  Buffers then ended up in the free list under both
aliases.  Use the segment g_buffers is linked in instead.

A buffer handed to an RX descriptor may still have dirty D-Cache lines,
at least the free list link written into it.  If such a line is evicted
while the DMA writes the frame, it overwrites part of the frame.
Discard the buffer from the D-Cache before giving it to the DMA.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Daniel P. Carvalho <danieloak@gmail.com>
2026-10-08 09:53:45 -03:00
..
include arch/mips/jz4780: Add HDMI EDID parsing and dynamic display modes 2026-08-29 11:08:25 -03:00
src arch/mips/pic32mz: fix the Ethernet D-Cache coherency. 2026-10-08 09:53:45 -03:00
Kconfig !sched/arch/libc: Give fork() and vfork() their real, separate semantics. 2026-08-10 08:57:30 -03:00