From 4111cf84899f8cd20d1d68ea270afea6480a3129 Mon Sep 17 00:00:00 2001 From: Matheus Date: Mon, 12 Sep 2022 10:22:25 -0300 Subject: [PATCH] mmu: fix page invalidation on flag change --- src/arch/x86_64/mmu.c | 2 +- src/sys/sched/scheduler.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/arch/x86_64/mmu.c b/src/arch/x86_64/mmu.c index 5f550f37..93dff11b 100644 --- a/src/arch/x86_64/mmu.c +++ b/src/arch/x86_64/mmu.c @@ -155,10 +155,10 @@ void arch_mmu_changeflags(arch_mmu_tableptr context, void* addr, size_t flags, s mapping &= ~((uint64_t)1 << 63); mapping |= flags; setpage(context, addr, mapping); + invalidate(addr); addr += PAGE_SIZE; } - invalidate(addr); } diff --git a/src/sys/sched/scheduler.c b/src/sys/sched/scheduler.c index e6b80019..9d87aa2c 100644 --- a/src/sys/sched/scheduler.c +++ b/src/sys/sched/scheduler.c @@ -422,8 +422,6 @@ void sched_runinit(){ timer_add(&arch_getcls()->schedreq, THREAD_QUANTUM, true); - printf("Switching to init thread\n"); - switch_thread(thread); __builtin_unreachable();