質問する前に、トピックに関する私の理解を述べます。
- Linux カーネル モードはARM スーパーバイザ モードに対応します。
- Linux ユーザー モードはARM ユーザーモードに対応します。
- カーネル モード(MMU が有効) では、Linux は物理アドレスではなく相対アドレスを使用します。つまり、物理アドレス = 相対アドレス - PAGE_OFFSET + PHYS_OFFSET
- ユーザー モード(MMU が有効) では、Linux は物理アドレスの代わりに仮想アドレスを使用します。つまり、物理アドレス = pte 、 pmd 、 pgd を使用した MMU Translation(Virtual Address)
質問:
スーパーバイザー モードで MMU が有効になっていますか (カーネル アドレス用)。
有効になっている場合、スーパーバイザー モードとユーザー モードを変換する際に、同じ MMU が異なる方法で機能することを意味します。
MMU が別のモードで別の方法で機能する場合、mmu 機能がさまざまなモードでどのように機能するかについての指針を教えてください。
前もって感謝します。