From ded9f93bae8ab9650aeb4c41bf661e3c35ac14ea Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 30 Aug 2022 10:32:16 -0600 Subject: [PATCH] 0.3.3 - Use PHYSMAP_NO_CACHE for Dma --- Cargo.toml | 2 +- src/io/dma.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 38ac5ee..8121d74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "redox_syscall" -version = "0.3.2" +version = "0.3.3" description = "A Rust library to access raw Redox system calls" license = "MIT" authors = ["Jeremy Soller "] diff --git a/src/io/dma.rs b/src/io/dma.rs index f496a1e..10a3eb6 100644 --- a/src/io/dma.rs +++ b/src/io/dma.rs @@ -95,7 +95,7 @@ pub struct Dma { impl Dma { pub fn from_physbox_uninit(phys: PhysBox) -> Result>> { - let virt = unsafe { crate::physmap(phys.address, phys.size, crate::PHYSMAP_WRITE)? } as *mut MaybeUninit; + let virt = unsafe { crate::physmap(phys.address, phys.size, crate::PHYSMAP_NO_CACHE | crate::PHYSMAP_WRITE)? } as *mut MaybeUninit; Ok(Dma { phys, @@ -156,7 +156,7 @@ impl Dma<[T]> { assert!(len <= max_len); Ok(Dma { - virt: unsafe { slice::from_raw_parts_mut(crate::physmap(phys.address, phys.size, crate::PHYSMAP_WRITE)? as *mut MaybeUninit, len) } as *mut [MaybeUninit], + virt: unsafe { slice::from_raw_parts_mut(crate::physmap(phys.address, phys.size, crate::PHYSMAP_NO_CACHE | crate::PHYSMAP_WRITE)? as *mut MaybeUninit, len) } as *mut [MaybeUninit], phys, }) }