unsafe fn vspace(
        op: VSpaceOperation,
        base: u64,
        bound: u64,
    ) -> Result<(VAddr, PAddr), SystemCallError> {
        let (err, paddr, size) = syscall!(SystemCall::VSpace as u64, op as u64, base, bound, 3);

        log::trace!(
            "OP={:?} {:#x} -- {:#x} --> {:#x} -- {:#x}",
            op,
            base,
            base + bound,
            paddr,
            paddr + bound,
        );

        if err == 0 {
            debug_assert_eq!(
                bound, size,
                "VSpace Map should return mapped region size as 2nd argument"
            );
            Ok((VAddr::from(base), PAddr::from(paddr)))
        } else {
            Err(SystemCallError::from(err))
        }
    }
/// Manipulate the virtual address space.
Manipulate the virtual address space.
Manipulate the virtual address space .
unsafe fn vspace(
        op: VSpaceOperation,
        base: u64,
        bound: u64,
    ) -> Result<(VAddr, PAddr), SystemCallError> {
        let (err, paddr, size) = syscall!(SystemCall::VSpace as u64, op as u64, base, bound, 3);
        log::trace!(
            "OP={:?} {:#x} -- {:#x} --> {:#x} -- {:#x}",
            op,
            base,
            base + bound,
            paddr,
            paddr + bound,
        );
        if err == 0 {
            debug_assert_eq!(
                bound, size,
                "VSpace Map should return mapped region size as 2nd argument"
            );
            Ok((VAddr::from(base), PAddr::from(paddr)))
        } else {
            Err(SystemCallError::from(err))
        }
    }
unsafe fn vspace ( op : VSpaceOperation , base : u64 , bound : u64 , ) -> Result < ( VAddr , PAddr ) , SystemCallError > { let ( err , paddr , size ) = syscall ! ( SystemCall VSpace as u64 op as u64 base bound 3 ) ; log :: trace ! ( " " op base base bound paddr paddr bound ) ; if err == 0 { debug_assert_eq ! ( bound size " " ) ; Ok ( ( VAddr :: from ( base ) , PAddr :: from ( paddr ) ) ) } else { Err ( SystemCallError :: from ( err ) ) } }
Manipulate the virtual address space.
Manipulate the virtual address space .
op
VSpaceOperation
base
u64
bound
u64
op
VSpaceOperation
base
u64
bound
u64