feat: added ability to identify process vm regions
[lunaix-os.git] / lunaix-os / kernel / asm / x86 / interrupts.c
index 8330bc263f1bb37b88bf56ff05b25ef7ecbad6d9..09bd1eb1409cfdcf18a78a64784739112f30107e 100644 (file)
@@ -6,6 +6,7 @@
 #include <lunaix/process.h>
 #include <lunaix/sched.h>
 #include <lunaix/mm/page.h>
+#include <lunaix/mm/vmm.h>
 
 LOG_MODULE("intr")
 
@@ -42,6 +43,9 @@ intr_handler(isr_param* param)
 
     cpu_lcr3(__kernel_ptd);
 
+    // 将当前进程的页目录挂载到内核地址空间里(页目录挂载点#1),方便访问。
+    vmm_mount_pd(PD_MOUNT_1, __current->page_table);
+
     isr_param *lparam = &__current->intr_ctx;
     
     if (lparam->vector <= 255) {