1*4fda81ceSLoGin use alloc::{string::String, vec::Vec}; 2*4fda81ceSLoGin 3*4fda81ceSLoGin use crate::{ 4*4fda81ceSLoGin arch::interrupt::TrapFrame, 5*4fda81ceSLoGin syscall::{Syscall, SystemError}, 6*4fda81ceSLoGin }; 7*4fda81ceSLoGin 8*4fda81ceSLoGin impl Syscall { 9*4fda81ceSLoGin pub fn do_execve( 10*4fda81ceSLoGin path: String, 11*4fda81ceSLoGin argv: Vec<String>, 12*4fda81ceSLoGin envp: Vec<String>, 13*4fda81ceSLoGin regs: &mut TrapFrame, 14*4fda81ceSLoGin ) -> Result<(), SystemError> { 15*4fda81ceSLoGin unimplemented!("Syscall::do_execve") 16*4fda81ceSLoGin } 17*4fda81ceSLoGin 18*4fda81ceSLoGin /// ## 用于控制和查询与体系结构相关的进程特定选项 19*4fda81ceSLoGin pub fn arch_prctl(option: usize, arg2: usize) -> Result<usize, SystemError> { 20*4fda81ceSLoGin unimplemented!("Syscall::arch_prctl") 21*4fda81ceSLoGin } 22*4fda81ceSLoGin } 23