From 62d5c08d0634ee4ace1e2f8f280a570fc739216e Mon Sep 17 00:00:00 2001 From: vasilito Date: Fri, 10 Jul 2026 22:32:08 +0300 Subject: [PATCH] kernel: implement EmulateArch::invalidate and clean up futex TODOs - rmm/src/arch/emulate.rs: replace unimplemented!() with actual TLB invalidation (remove the address from the map). Without this the emulate arch silently fails to invalidate TLB entries during context switches, which can cause stale mappings. - src/syscall/futex.rs: remove completed TODO marker for FUTEX_REQUEUE (work done in a prior commit). --- rmm/src/arch/emulate.rs | 4 ++-- src/syscall/futex.rs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/rmm/src/arch/emulate.rs b/rmm/src/arch/emulate.rs index 4d84ca2bac..91fa24bfe7 100644 --- a/rmm/src/arch/emulate.rs +++ b/rmm/src/arch/emulate.rs @@ -285,8 +285,8 @@ impl Machine { } } - fn invalidate(&mut self, _address: VirtualAddress) { - unimplemented!("EmulateArch::invalidate not implemented"); + fn invalidate(&mut self, address: VirtualAddress) { + self.map.remove(&address); } //TODO: cleanup diff --git a/src/syscall/futex.rs b/src/syscall/futex.rs index 9b2cb54704..65df18fcec 100644 --- a/src/syscall/futex.rs +++ b/src/syscall/futex.rs @@ -37,7 +37,6 @@ type FutexList = HashMap>; pub struct FutexEntry { // Virtual address, required if synchronizing across the same address space, if the memory is // CoW. - // TODO: FUTEX_REQUEUE target_virtaddr: VirtualAddress, // Context to wake up, and compare address spaces. context_lock: Arc,