From eda462fd115ba3d9a4e52a918bfa3face4c59f44 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Fri, 17 Nov 2023 20:25:10 +0100 Subject: [PATCH] Remove SYS_PHYSMAP. --- src/syscall/debug.rs | 19 ------------------- src/syscall/driver.rs | 23 ----------------------- src/syscall/mod.rs | 3 +-- syscall | 2 +- 4 files changed, 2 insertions(+), 45 deletions(-) diff --git a/src/syscall/debug.rs b/src/syscall/debug.rs index baed3fed85..020758ec85 100644 --- a/src/syscall/debug.rs +++ b/src/syscall/debug.rs @@ -252,25 +252,6 @@ pub fn format_call(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - c, d ), - SYS_PHYSALLOC => format!( - "physalloc({})", - b - ), - SYS_PHYSALLOC3 => format!( - "physalloc3({}, {}, {})", - b, c, d, - ), - SYS_PHYSFREE => format!( - "physfree({:#X}, {})", - b, - c - ), - SYS_PHYSMAP => format!( - "physmap({:#X}, {}, {:?})", - b, - c, - PhysmapFlags::from_bits(d) - ), SYS_VIRTTOPHYS => format!( "virttophys({:#X})", b diff --git a/src/syscall/driver.rs b/src/syscall/driver.rs index 42dd48f4ea..9baeb9c08e 100644 --- a/src/syscall/driver.rs +++ b/src/syscall/driver.rs @@ -3,10 +3,7 @@ use alloc::sync::Arc; use crate::interrupt::InterruptStack; use crate::paging::VirtualAddress; use crate::context; -use crate::scheme::memory::{MemoryScheme, MemoryType}; use crate::syscall::error::{Error, EFAULT, EINVAL, EPERM, ESRCH, Result}; -use crate::syscall::flag::{MapFlags, PhysmapFlags}; - fn enforce_root() -> Result<()> { let contexts = context::contexts(); let context_lock = contexts.current().ok_or(Error::new(ESRCH))?; @@ -60,23 +57,3 @@ pub fn virttophys(virtual_address: usize) -> Result { None => Err(Error::new(EFAULT)) } } - -// TODO: Remove: -pub fn inner_physmap(physical_address: usize, size: usize, flags: PhysmapFlags) -> Result { - let mut map_flags = MapFlags::MAP_SHARED | MapFlags::PROT_READ; - map_flags.set(MapFlags::PROT_WRITE, flags.contains(PhysmapFlags::PHYSMAP_WRITE)); - - let memory_type = if flags.contains(PhysmapFlags::PHYSMAP_NO_CACHE) { - MemoryType::Uncacheable - } else if flags.contains(PhysmapFlags::PHYSMAP_WRITE_COMBINE) { - MemoryType::WriteCombining - } else { - MemoryType::Writeback - }; - - MemoryScheme::physmap(physical_address, size, map_flags, memory_type) -} -pub fn physmap(physical_address: usize, size: usize, flags: PhysmapFlags) -> Result { - enforce_root()?; - inner_physmap(physical_address, size, flags) -} diff --git a/src/syscall/mod.rs b/src/syscall/mod.rs index 22a41b9ecc..36a7fa158d 100644 --- a/src/syscall/mod.rs +++ b/src/syscall/mod.rs @@ -28,7 +28,7 @@ pub use self::usercopy::validate_region; use self::data::{Map, SigAction, TimeSpec}; use self::error::{Error, Result, ENOSYS}; -use self::flag::{MapFlags, PhysmapFlags, WaitFlags}; +use self::flag::{MapFlags, WaitFlags}; use self::number::*; use crate::context::ContextId; @@ -169,7 +169,6 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, stack UserSlice::wo(d, 16)?.none_if_null(), ).map(|()| 0), SYS_SIGRETURN => sigreturn(), - SYS_PHYSMAP => physmap(b, c, PhysmapFlags::from_bits_truncate(d)), SYS_UMASK => umask(b), SYS_VIRTTOPHYS => virttophys(b), diff --git a/syscall b/syscall index 5c994f22a9..2ca38a20a0 160000 --- a/syscall +++ b/syscall @@ -1 +1 @@ -Subproject commit 5c994f22a9356f64fc9d5af331d3a36cb3ab7e5f +Subproject commit 2ca38a20a0e421a6033b38833e1dc1ee6c1b69da