add proper pagefault error
This commit is contained in:
35
src/main.rs
35
src/main.rs
@@ -235,14 +235,14 @@ fn tls_test() -> Result<(), String> {
|
||||
}
|
||||
|
||||
fn nmi_test() -> Result<(), String> {
|
||||
use syscall::TimeSpec;
|
||||
let a = TimeSpec{
|
||||
tv_nsec:0,
|
||||
tv_sec:5,
|
||||
};
|
||||
let mut b = TimeSpec::default();
|
||||
let r = syscall::call::nanosleep(&a,&mut b);
|
||||
println!("{r:?}");
|
||||
// use syscall::TimeSpec;
|
||||
// let a = TimeSpec{
|
||||
// tv_nsec:0,
|
||||
// tv_sec:5,
|
||||
// };
|
||||
// let mut b = TimeSpec::default();
|
||||
// let r = syscall::call::nanosleep(&a,&mut b);
|
||||
// println!("{r:?}");
|
||||
|
||||
let r = syscall::call::nmi();
|
||||
println!("{r:?}");
|
||||
@@ -253,20 +253,21 @@ fn nmi_test() -> Result<(), String> {
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
// let mut a = 10;
|
||||
// while a >=0 {
|
||||
// println!("{}", 4/a);
|
||||
// a-=1;
|
||||
// }
|
||||
// let a=1;
|
||||
// let v = std::ptr::addr_of!(a);
|
||||
// println!("{v:?}");
|
||||
// unsafe {
|
||||
// let r = syscall::call::physunmap(v as usize);
|
||||
// println!("{r:?}");
|
||||
// }
|
||||
// println!("{a:?}");
|
||||
|
||||
|
||||
// const ADDR: usize = 0xDEADC0DE;
|
||||
// println!("value {}", unsafe { (ADDR as *const u8).read_volatile() });
|
||||
// unsafe{
|
||||
// syscall::fmap(!0, &Map { offset: 0, address: ALIGNED_ADDR, size: PAGE_SIZE, flags: MapFlags::MAP_FIXED_NOREPLACE | MapFlags::MAP_PRIVATE | MapFlags::PROT_READ | MapFlags::PROT_WRITE }).expect("[signal handler]: failed to re-map address");
|
||||
// (ADDR as *mut u8).write_volatile(42);
|
||||
// };
|
||||
// println!("value {}", unsafe { (ADDR as *const u8).read_volatile() });
|
||||
|
||||
Ok(())
|
||||
}
|
||||
fn main() {
|
||||
|
||||
Reference in New Issue
Block a user