diff --git a/notes/chapter3-page-tables b/notes/chapter3-page-tables
index 337cf86..9b7f4e4 100644
--- a/notes/chapter3-page-tables
+++ b/notes/chapter3-page-tables
@@ -76,3 +76,10 @@ Before setting satp, instructions use phy@.
 Each CPU its own satp so each CPU can handle user code.
 
 XV6 = 1 page table per process and 1 page table for the kernel
+XV6 kernel page table:
+- direct mapping for most pages
+- no direct mapping for the trampoline page
+- no direct mapping for stacks' pages
+  => these pages are related to the processes (`kstack` in the `proc` structure)
+  => the kstack is followed by an invalid guard page (PTE_V not set)
+     to prevent memory corruption from stack overflows