Use core::ptr wrappers instead of the unstable volatile_* intrinsics
This commit is contained in:
+5
-5
@@ -1,6 +1,6 @@
|
||||
use core::{mem, ptr};
|
||||
|
||||
use core::intrinsics::{volatile_load, volatile_store};
|
||||
use core::ptr::{read_volatile, write_volatile};
|
||||
|
||||
use crate::memory::Frame;
|
||||
use crate::paging::{KernelMapper, PhysicalAddress, PageFlags};
|
||||
@@ -82,11 +82,11 @@ impl GenericAddressStructure {
|
||||
}
|
||||
|
||||
pub unsafe fn read_u64(&self, offset: usize) -> u64{
|
||||
volatile_load((crate::HPET_OFFSET + offset) as *const u64)
|
||||
read_volatile((crate::HPET_OFFSET + offset) as *const u64)
|
||||
}
|
||||
|
||||
pub unsafe fn write_u64(&mut self, offset: usize, value: u64) {
|
||||
volatile_store((crate::HPET_OFFSET + offset) as *mut u64, value);
|
||||
write_volatile((crate::HPET_OFFSET + offset) as *mut u64, value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,10 +103,10 @@ impl GenericAddressStructure {
|
||||
}
|
||||
|
||||
pub unsafe fn read_u64(&self, offset: usize) -> u64{
|
||||
volatile_load((self.address as usize + offset + crate::PHYS_OFFSET) as *const u64)
|
||||
read_volatile((self.address as usize + offset + crate::PHYS_OFFSET) as *const u64)
|
||||
}
|
||||
|
||||
pub unsafe fn write_u64(&mut self, offset: usize, value: u64) {
|
||||
volatile_store((self.address as usize + offset + crate::PHYS_OFFSET) as *mut u64, value);
|
||||
write_volatile((self.address as usize + offset + crate::PHYS_OFFSET) as *mut u64, value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use core::intrinsics::{volatile_load, volatile_store};
|
||||
use core::ptr::{read_volatile, write_volatile};
|
||||
|
||||
use crate::memory::Frame;
|
||||
use crate::paging::{KernelMapper, PhysicalAddress, Page, PageFlags, TableKind, VirtualAddress};
|
||||
@@ -149,12 +149,12 @@ impl GicDistIf {
|
||||
}
|
||||
|
||||
unsafe fn read(&self, reg: u32) -> u32 {
|
||||
let val = volatile_load((self.address + reg as usize) as *const u32);
|
||||
let val = read_volatile((self.address + reg as usize) as *const u32);
|
||||
val
|
||||
}
|
||||
|
||||
unsafe fn write(&mut self, reg: u32, value: u32) {
|
||||
volatile_store((self.address + reg as usize) as *mut u32, value);
|
||||
write_volatile((self.address + reg as usize) as *mut u32, value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,11 +179,11 @@ impl GicCpuIf {
|
||||
}
|
||||
|
||||
unsafe fn read(&self, reg: u32) -> u32 {
|
||||
let val = volatile_load((self.address + reg as usize) as *const u32);
|
||||
let val = read_volatile((self.address + reg as usize) as *const u32);
|
||||
val
|
||||
}
|
||||
|
||||
unsafe fn write(&mut self, reg: u32, value: u32) {
|
||||
volatile_store((self.address + reg as usize) as *mut u32, value);
|
||||
write_volatile((self.address + reg as usize) as *mut u32, value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use core::intrinsics::{volatile_load, volatile_store};
|
||||
use core::ptr::{read_volatile, write_volatile};
|
||||
|
||||
use crate::memory::Frame;
|
||||
use crate::paging::{KernelMapper, PhysicalAddress, Page, PageFlags, TableKind, VirtualAddress};
|
||||
@@ -47,12 +47,12 @@ impl Pl031rtc {
|
||||
}
|
||||
|
||||
unsafe fn read(&self, reg: u32) -> u32 {
|
||||
let val = volatile_load((self.address + reg as usize) as *const u32);
|
||||
let val = read_volatile((self.address + reg as usize) as *const u32);
|
||||
val
|
||||
}
|
||||
|
||||
unsafe fn write(&mut self, reg: u32, value: u32) {
|
||||
volatile_store((self.address + reg as usize) as *mut u32, value);
|
||||
write_volatile((self.address + reg as usize) as *mut u32, value);
|
||||
}
|
||||
|
||||
pub fn time(&mut self) -> u64 {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use core::sync::atomic::{self, AtomicU32};
|
||||
use core::intrinsics::{volatile_load, volatile_store};
|
||||
use core::ptr::{read_volatile, write_volatile};
|
||||
use x86::msr::*;
|
||||
|
||||
use crate::paging::{KernelMapper, PhysicalAddress, PageFlags, RmmA, RmmArch, VirtualAddress};
|
||||
@@ -84,11 +84,11 @@ impl LocalApic {
|
||||
}
|
||||
|
||||
unsafe fn read(&self, reg: u32) -> u32 {
|
||||
volatile_load((self.address + reg as usize) as *const u32)
|
||||
read_volatile((self.address + reg as usize) as *const u32)
|
||||
}
|
||||
|
||||
unsafe fn write(&mut self, reg: u32, value: u32) {
|
||||
volatile_store((self.address + reg as usize) as *mut u32, value);
|
||||
write_volatile((self.address + reg as usize) as *mut u32, value);
|
||||
}
|
||||
|
||||
pub fn id(&self) -> u32 {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use core::sync::atomic::{self, AtomicU64};
|
||||
use core::intrinsics::{volatile_load, volatile_store};
|
||||
use core::ptr::{read_volatile, write_volatile};
|
||||
use x86::msr::*;
|
||||
|
||||
use crate::paging::{KernelMapper, PhysicalAddress, PageFlags, RmmA, RmmArch};
|
||||
@@ -84,11 +84,11 @@ impl LocalApic {
|
||||
}
|
||||
|
||||
unsafe fn read(&self, reg: u32) -> u32 {
|
||||
volatile_load((self.address + reg as usize) as *const u32)
|
||||
read_volatile((self.address + reg as usize) as *const u32)
|
||||
}
|
||||
|
||||
unsafe fn write(&mut self, reg: u32, value: u32) {
|
||||
volatile_store((self.address + reg as usize) as *mut u32, value);
|
||||
write_volatile((self.address + reg as usize) as *mut u32, value);
|
||||
}
|
||||
|
||||
pub fn id(&self) -> u32 {
|
||||
|
||||
Reference in New Issue
Block a user