Tell us about the new MMU architecture!
Moderator: bongjiajun
-
Bryght-Richard
- Posts: 98
- Joined: Thu Feb 22, 2024 3:59 pm
-
andylinpersonal
- Posts: 27
- Joined: Wed Jan 19, 2022 2:21 am
Re: Tell us about the new MMU architecture!
See the fresh datasheet, it's sv32 MMU, so we can expect for a full Linux on this chip.
The old "MMU" on S3 and other chips are still some sort of programmable flash / psram mapper, not a virtual memory system from the aspect of CPU. It still presents on esp32-s31 for interfacing with PSRAM and flash.
But whether Linux-based sdk, on at least the more powerful core 1, would be supported by official, is still unclear yet.
Most possible use case with a Linux would be a AMP system: core 0 runs a modified esp-hosted-ng, communicate with core 1’s Linux via some RPMsg stuff. The Linux runs a mature networking and multimedia stuff. The prototype system has been demonstrated by a Linux maintainer for Xtensa port, jcmvbkbc. But for such a heavy environment, we may need more PSRAM to unlock the full potential
The old "MMU" on S3 and other chips are still some sort of programmable flash / psram mapper, not a virtual memory system from the aspect of CPU. It still presents on esp32-s31 for interfacing with PSRAM and flash.
But whether Linux-based sdk, on at least the more powerful core 1, would be supported by official, is still unclear yet.
Most possible use case with a Linux would be a AMP system: core 0 runs a modified esp-hosted-ng, communicate with core 1’s Linux via some RPMsg stuff. The Linux runs a mature networking and multimedia stuff. The prototype system has been demonstrated by a Linux maintainer for Xtensa port, jcmvbkbc. But for such a heavy environment, we may need more PSRAM to unlock the full potential
Re: Tell us about the new MMU architecture!
- Sv32 two-level page-table address translationSee the fresh datasheet, it's sv32 MMU,
- Compliant with RISC-V Sv32 virtual memory scheme
However, it’s likely not what you think it is?
The ESP32-S31 datasheet mentions “Sv32 two-level page-table address translation” and being “compliant with the RISC-V Sv32 virtual memory scheme”.
But in the publicly visible parts of ESP-IDF, I only see the MMU used for Flash/PSRAM mapping (esp_mmu_map / external memory mapping). A full Linux-style RISC-V Sv32 MMU would typically require satp handling, page tables, and page fault support, none of which are exposed in the current ESP-IDF.
So from the official ESP-IDF alone, it’s not really possible to conclude that full Linux-style Sv32 paging is available yet. That said, maybe I’ve missed something deeper in the stack… or maybe it’s already being explored in someone’s playground build and just not widely surfaced yet - who knows
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪
Re: Tell us about the new MMU architecture!
Well, the ESP-IDF is written in a such way.. If you enable all memory protection and address translation then you have to rewrite esp-idf. FreeRTOS does not expect any address translation magic etc..But in the publicly visible parts of ESP-IDF, I only see the MMU used for Flash/PSRAM mapping
Thanks!
Slava.
Slava.
Who is online
Users browsing this forum: No registered users and 0 guests