From cba96c8de3d512aea665cd22123b531264630d2d Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Thu, 11 Mar 2021 01:57:13 +0200 Subject: [PATCH] add paging illustration this sample pretends that each directory has only 2 table entries. --- nucleus/src/arch/aarch64/memory/paging.puml | 40 +++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 nucleus/src/arch/aarch64/memory/paging.puml diff --git a/nucleus/src/arch/aarch64/memory/paging.puml b/nucleus/src/arch/aarch64/memory/paging.puml new file mode 100644 index 0000000..de1ca8e --- /dev/null +++ b/nucleus/src/arch/aarch64/memory/paging.puml @@ -0,0 +1,40 @@ +@startuml +'https://plantuml.com/object-diagram + +object GiantPage +object GiantPage_2 +object LargePage +object Page +object Page_2 +object Unmapped + +map L1PageUpperDirectory_2 { + entry0 *--> GiantPage_2 + entry1 *--> Unmapped +} + +map L3PageTable { + entry0 *--> Page + entry1 *--> Page_2 +} + +map L2PageDirectory { + entry0 *-> L3PageTable + entry1 *--> LargePage +} + +map L1PageUpperDirectory { + entry0 *-> L2PageDirectory + entry1 *--> GiantPage +} + +map L0PageGlobalDirectory { + entry0 *-> L1PageUpperDirectory + entry1 *--> L1PageUpperDirectory_2 +} + +map VirtSpace { + root *-> L0PageGlobalDirectory +} + +@enduml