update ch4:add some exception support in trap_handler function, add two *_fault.rs apps
This commit is contained in:
parent
3731e84460
commit
90cf5659aa
3 changed files with 38 additions and 1 deletions
18
user/src/bin/04load_fault.rs
Normal file
18
user/src/bin/04load_fault.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
#[macro_use]
|
||||
extern crate user_lib;
|
||||
|
||||
use core::ptr::{read_volatile,null_mut};
|
||||
|
||||
#[no_mangle]
|
||||
fn main() -> i32 {
|
||||
println!("\nload_fault APP running...\n");
|
||||
println!("Into Test load_fault, we will insert an invalid load operation...");
|
||||
println!("Kernel should kill this application!");
|
||||
unsafe {
|
||||
let _i=read_volatile(null_mut::<u8>());
|
||||
}
|
||||
0
|
||||
}
|
18
user/src/bin/05store_fault.rs
Normal file
18
user/src/bin/05store_fault.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
#[macro_use]
|
||||
extern crate user_lib;
|
||||
|
||||
use core::ptr::null_mut;
|
||||
|
||||
#[no_mangle]
|
||||
fn main() -> i32 {
|
||||
println!("\nstore_fault APP running...\n");
|
||||
println!("Into Test store_fault, we will insert an invalid store operation...");
|
||||
println!("Kernel should kill this application!");
|
||||
unsafe {
|
||||
null_mut::<u8>().write_volatile(1);
|
||||
}
|
||||
0
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue