0.3.3 - Use PHYSMAP_NO_CACHE for Dma

This commit is contained in:
Jeremy Soller
2022-08-30 10:32:16 -06:00
parent 7eb24a17ce
commit ded9f93bae
2 changed files with 3 additions and 3 deletions

View File

@@ -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 <jackpot51@gmail.com>"]

View File

@@ -95,7 +95,7 @@ pub struct Dma<T: ?Sized> {
impl<T> Dma<T> {
pub fn from_physbox_uninit(phys: PhysBox) -> Result<Dma<MaybeUninit<T>>> {
let virt = unsafe { crate::physmap(phys.address, phys.size, crate::PHYSMAP_WRITE)? } as *mut MaybeUninit<T>;
let virt = unsafe { crate::physmap(phys.address, phys.size, crate::PHYSMAP_NO_CACHE | crate::PHYSMAP_WRITE)? } as *mut MaybeUninit<T>;
Ok(Dma {
phys,
@@ -156,7 +156,7 @@ impl<T> 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<T>, len) } as *mut [MaybeUninit<T>],
virt: unsafe { slice::from_raw_parts_mut(crate::physmap(phys.address, phys.size, crate::PHYSMAP_NO_CACHE | crate::PHYSMAP_WRITE)? as *mut MaybeUninit<T>, len) } as *mut [MaybeUninit<T>],
phys,
})
}