Description / Steps to reproduce the issue
- run qemu with backend file to simulate ram with random initialized ram data.
- mmu pagetable in linker script is NONLOAD
- mmu qemu_rv_kernel_mappings dose not initialize pagetable with initial value (like zero)
- when mmu find initialized mapping, will use none-initialized value which cause error.
static void map_region(uintptr_t paddr, uintptr_t vaddr, size_t size, uint32_t mmuflags)
{
uintptr_t alignaddr;
uintptr_t endaddr;
uintptr_t pbase;
endaddr = vaddr + size;
while (vaddr < endaddr)
{
/* See if a mapping exists ? */
/* mmu_ln_getentry will get un initialized value */
pbase = mmu_pte_to_paddr(mmu_ln_getentry(
KMM_SPBASE_IDX, KMM_SPBASE, vaddr));
On which OS does this issue occur?
[OS: Windows], [OS: Linux]
What is the version of your OS?
Ubuntu 24.04
NuttX Version
96f440f0c068f278cc11a956c2c6cf52ff79cf01
Issue Architecture
[Arch: risc-v]
Issue Area
[Area: Memory Management], [Area: Board support]
Host information
qemu to run the rv64
qemu-system-riscv64 --version
QEMU emulator version 10.0.0
Verification
Description / Steps to reproduce the issue
On which OS does this issue occur?
[OS: Windows], [OS: Linux]
What is the version of your OS?
Ubuntu 24.04
NuttX Version
96f440f0c068f278cc11a956c2c6cf52ff79cf01
Issue Architecture
[Arch: risc-v]
Issue Area
[Area: Memory Management], [Area: Board support]
Host information
qemu to run the rv64
qemu-system-riscv64 --version
QEMU emulator version 10.0.0
Verification