syscall.rs 416 B

123456789101112131415
  1. use bitmap::traits::BitMapOps;
  2. use system_error::SystemError;
  3. use crate::syscall::Syscall;
  4. use super::cpu::smp_cpu_manager;
  5. impl Syscall {
  6. pub fn getaffinity(_pid: i32, set: &mut [u8]) -> Result<usize, SystemError> {
  7. let cpu_manager = smp_cpu_manager();
  8. let src = unsafe { cpu_manager.possible_cpus().inner().as_bytes() };
  9. set[0..src.len()].copy_from_slice(src);
  10. Ok(0)
  11. }
  12. }