summaryrefslogtreecommitdiff
path: root/kernel/src/mem
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksa@vuckovic.cc>2023-02-26 07:29:26 +0100
committerAleksa Vuckovic <aleksa@vuckovic.cc>2023-02-26 07:39:55 +0100
commita362a43899040a3848427c4d1f3bd1d3e53f46ec (patch)
tree3255f10f358ab2dba1555a45a91950d185d397f7 /kernel/src/mem
parent40eecaecc552945f72a2b90f4122bf929960671c (diff)
passing rsp from isr_stub, fixing panic()
Diffstat (limited to 'kernel/src/mem')
-rw-r--r--kernel/src/mem/paging.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/src/mem/paging.c b/kernel/src/mem/paging.c
index cf62980..94ac226 100644
--- a/kernel/src/mem/paging.c
+++ b/kernel/src/mem/paging.c
@@ -64,7 +64,7 @@ void init_paging(void)
load_pt_lvl4(page_table_lvl4);
}
-void page_fault(uint64_t error)
+void page_fault(uint64_t rsp, uint64_t error)
{
uint64_t addr;
__asm__ __volatile__("mov %%cr2, %0;" : "=r"(addr) : : "memory");
@@ -72,7 +72,7 @@ void page_fault(uint64_t error)
printf("address: 0x%x, error code: 0x%x\n", addr, error);
if (error == 7) {
- panic("Accessing privileged page in usermode\n");
+ panic(rsp, "Accessing privileged page in usermode\n");
}
map_addr(addr, addr, FLAG_PRESENT | FLAG_WRITABLE | FLAG_USER);