Call TLB IPI when mapping grants
This commit is contained in:
@@ -5,7 +5,6 @@ use core::{mem, ptr};
|
||||
use core::ops::{Deref, DerefMut};
|
||||
use x86::shared::{control_regs, msr, tlb};
|
||||
|
||||
use ipi::{ipi, IpiKind, IpiTarget};
|
||||
use memory::{allocate_frames, Frame};
|
||||
|
||||
use self::entry::EntryFlags;
|
||||
|
||||
@@ -3,6 +3,7 @@ use alloc::VecDeque;
|
||||
use core::intrinsics;
|
||||
use spin::Mutex;
|
||||
|
||||
use ipi::{ipi, IpiKind, IpiTarget};
|
||||
use memory::Frame;
|
||||
use paging::{ActivePageTable, InactivePageTable, Page, PageIter, PhysicalAddress, VirtualAddress};
|
||||
use paging::entry::EntryFlags;
|
||||
@@ -64,6 +65,8 @@ impl Grant {
|
||||
}
|
||||
});
|
||||
|
||||
ipi(IpiKind::Tlb, IpiTarget::Other);
|
||||
|
||||
Grant {
|
||||
start: to,
|
||||
size: size,
|
||||
@@ -118,6 +121,8 @@ impl Grant {
|
||||
}
|
||||
});
|
||||
|
||||
ipi(IpiKind::Tlb, IpiTarget::Other);
|
||||
|
||||
self.mapped = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user