tidy up for final version

This commit is contained in:
2023-05-23 15:42:37 +02:00
parent eb1ae07e2b
commit 9e4c9544b5
2 changed files with 8 additions and 15 deletions

View File

@@ -52,28 +52,19 @@ nmi_handler!(non_maskable, |stack| {
use crate::info;
use crate::time::realtime;
let req = syscall::TimeSpec {
tv_sec: 0,
tv_nsec: 0,
};
let time = realtime();
info!("{} : Entering NMI", time);
// let mut rem = syscall::TimeSpec::default();
// let _ = crate::syscall::time::nanosleep(&req, Some(&mut rem));
// Page Fault
let addr = 0xDEADC0DE as *const u8;
let n = core::ptr::read(addr);
println!("{}",n);
//loop{}
// core::arch::asm!(
// "
// mov rdx, [0xDEADC0DE]
// ");
// let mut rem = syscall::TimeSpec::default();
// let _ = crate::syscall::time::nanosleep(&req, Some(&mut rem));
let time = realtime();
info!("{} : Exiting NMI", time);
@@ -173,6 +164,8 @@ interrupt_error!(page, |stack| {
println!(" Reserved write: {}", stack.code & 1 << 3 != 0);
println!(" Instruction fetch: {}", stack.code & 1 << 4 != 0);
// stack.dump();
// stack.inner.iret.cs
// stack.inner.iret.rip
stack_trace();
// ksignal(SIGSEGV);

View File

@@ -509,10 +509,10 @@ macro_rules! nmi_handler {
"
nested_nmi:
/// ! repalce with address of repeat nmi and end repeat nmi
mov rdx, 0x080a3352
mov rdx, 0x0806f292
cmp rdx, 8[rsp]
ja 1f
mov rdx, 0x080a3377
mov rdx, 0x0806f2b7
cmp rdx, 8[rsp]
ja nested_nmi_out
",
@@ -527,7 +527,7 @@ macro_rules! nmi_handler {
pushf
push {GDT_KERNEL_CODE}
//replace address repeat nmi
push 0x080a3352
push 0x0806f292
",
// nested nmi out
"
@@ -586,9 +586,9 @@ macro_rules! nmi_handler {
"
//call {frsp}
7:
add rsp,$(12*8)
add rsp,$(5*8)
mov QWORD PTR 5*8[rsp], $0
mov QWORD PTR [rsp + 5 * 8], $0
//call {frsp}
iretq