rmm: Remove fallback impl of invalidate_all

It doesn't work on all non-x86 architectures.
This commit is contained in:
bjorn3
2026-03-28 22:02:34 +01:00
parent a913414c7f
commit d06ade297d
3 changed files with 11 additions and 9 deletions
+1 -9
View File
@@ -79,17 +79,9 @@ pub trait Arch: Clone + Copy {
}
unsafe fn invalidate(address: VirtualAddress);
#[inline(always)]
unsafe fn invalidate_all() {
unsafe {
//TODO: this stub only works on x86_64, maybe make the arch implement this?
Self::set_table(TableKind::User, Self::table(TableKind::User));
}
}
unsafe fn invalidate_all();
unsafe fn table(table_kind: TableKind) -> PhysicalAddress;
unsafe fn set_table(table_kind: TableKind, address: PhysicalAddress);
#[inline(always)]
+5
View File
@@ -36,6 +36,11 @@ impl Arch for X86Arch {
unsafe { asm!("invlpg [{0}]", in(reg) address.data()) };
}
#[inline(always)]
unsafe fn invalidate_all() {
unsafe { Self::set_table(TableKind::User, Self::table(TableKind::User)) };
}
#[inline(always)]
unsafe fn table(_table_kind: TableKind) -> PhysicalAddress {
let address: usize;
+5
View File
@@ -35,6 +35,11 @@ impl Arch for X8664Arch {
unsafe { asm!("invlpg [{0}]", in(reg) address.data()) };
}
#[inline(always)]
unsafe fn invalidate_all() {
unsafe { Self::set_table(TableKind::User, Self::table(TableKind::User)) };
}
#[inline(always)]
unsafe fn table(_table_kind: TableKind) -> PhysicalAddress {
let address: usize;