pub struct LowerVtlMemorySpawner<T: DmaClient> { /* private fields */ }
Expand description
A DmaClient
wrapper that will lower the VTL permissions of the page
on the allocated memory block.
Implementations§
Source§impl<T: DmaClient> LowerVtlMemorySpawner<T>
impl<T: DmaClient> LowerVtlMemorySpawner<T>
Sourcepub fn new(
spawner: T,
vtl_protect: Arc<dyn VtlMemoryProtection + Send + Sync>,
) -> Self
pub fn new( spawner: T, vtl_protect: Arc<dyn VtlMemoryProtection + Send + Sync>, ) -> Self
Create a new wrapped DmaClient
spawner that will lower the VTL
permissions of the returned MemoryBlock
.
Trait Implementations§
Source§impl<T: DmaClient> DmaClient for LowerVtlMemorySpawner<T>
impl<T: DmaClient> DmaClient for LowerVtlMemorySpawner<T>
Source§fn allocate_dma_buffer(&self, len: usize) -> Result<MemoryBlock>
fn allocate_dma_buffer(&self, len: usize) -> Result<MemoryBlock>
Allocate a new DMA buffer. This buffer must be zero initialized. Read more
Source§fn attach_pending_buffers(&self) -> Result<Vec<MemoryBlock>>
fn attach_pending_buffers(&self) -> Result<Vec<MemoryBlock>>
Attach all previously allocated memory blocks.
Auto Trait Implementations§
impl<T> Freeze for LowerVtlMemorySpawner<T>where
T: Freeze,
impl<T> !RefUnwindSafe for LowerVtlMemorySpawner<T>
impl<T> Send for LowerVtlMemorySpawner<T>
impl<T> Sync for LowerVtlMemorySpawner<T>
impl<T> Unpin for LowerVtlMemorySpawner<T>where
T: Unpin,
impl<T> !UnwindSafe for LowerVtlMemorySpawner<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more