pub fn unmap(&self, addr: VirtAddr, len: usize) -> ZxResult {
        if !page_aligned(addr) || !page_aligned(len) || len == 0 {
            return Err(ZxError::INVALID_ARGS);
        }
        let mut guard = self.inner.lock();
        let inner = guard.as_mut().ok_or(ZxError::BAD_STATE)?;
        self.unmap_inner(addr, len, inner)
    }
/// Unmaps all VMO mappings and destroys all sub-regions within the absolute range
/// including `addr` and ending before exclusively at `addr + len`.
/// Any sub-region that is in the range must be fully in the range
/// (i.e. partial overlaps are an error).
/// If a mapping is only partially in the range, the mapping is split and the requested
/// portion is unmapped.
Unmaps all VMO mappings and destroys all sub-regions within the absolute range
including `addr` and ending before exclusively at `addr + len`.
Any sub-region that is in the range must be fully in the range
.
If a mapping is only partially in the range, the mapping is split and the requested
portion is unmapped.
Unmaps all VMO mappings and destroys all sub - regions within the absolute range including ` addr ` and ending before exclusively at ` addr + len ` . Any sub - region that is in the range must be fully in the range . If a mapping is only partially in the range the mapping is split and the requested portion is unmapped .
pub fn unmap(&self, addr: VirtAddr, len: usize) -> ZxResult {
        if !page_aligned(addr) || !page_aligned(len) || len == 0 {
            return Err(ZxError::INVALID_ARGS);
        }
        let mut guard = self.inner.lock();
        let inner = guard.as_mut().ok_or(ZxError::BAD_STATE)?;
        self.unmap_inner(addr, len, inner)
    }
pub fn unmap ( & self , addr : VirtAddr , len : usize ) -> ZxResult { if ! page_aligned ( addr ) || ! page_aligned ( len ) || len == 0 { return Err ( ZxError :: INVALID_ARGS ) ; } let mut guard = self . inner . lock ( ) ; let inner = guard . as_mut ( ) . ok_or ( ZxError :: BAD_STATE ) ? ; self . unmap_inner ( addr , len , inner ) }
Unmaps all VMO mappings and destroys all sub-regions within the absolute range
including `addr` and ending before exclusively at `addr + len`.
Unmaps all VMO mappings and destroys all sub - regions within the absolute range including ` addr ` and ending before exclusively at ` addr + len ` .
&self
addr
VirtAddr
len
usize
&self
addr
VirtAddr
len
usize