master
Harry Cheng 5 years ago
parent 8fa7a8c2ad
commit 804d6254f9

@ -86,7 +86,7 @@ pub extern "C" fn rust_trap(tf: &mut TrapFrame) {
Breakpoint => breakpoint(), Breakpoint => breakpoint(),
DoubleFault => double_fault(tf), DoubleFault => double_fault(tf),
PageFault => page_fault(tf), PageFault => page_fault(tf),
IRQ0...63 => { IRQ0..=63 => {
let irq = tf.trap_num as u8 - IRQ0; let irq = tf.trap_num as u8 - IRQ0;
super::ack(irq); // must ack before switching super::ack(irq); // must ack before switching
match irq { match irq {

@ -282,8 +282,8 @@ impl FrameDeallocator<Size4KiB> for FrameAllocatorForX86 {
fn flush_tlb_all(vaddr: usize) { fn flush_tlb_all(vaddr: usize) {
// FIXME: too slow, disable now. // FIXME: too slow, disable now.
return; return;
if !super::AP_CAN_INIT.load(Ordering::Relaxed) { // if !super::AP_CAN_INIT.load(Ordering::Relaxed) {
return; // return;
} // }
super::ipi::invoke_on_allcpu(move || tlb::flush(VirtAddr::new(vaddr as u64)), false); // super::ipi::invoke_on_allcpu(move || tlb::flush(VirtAddr::new(vaddr as u64)), false);
} }

Loading…
Cancel
Save