Fix: unused warning for user level applications
This commit is contained in:
parent
7d64ab8335
commit
7ad5ee7534
|
@ -8,6 +8,7 @@ const FLAG_RANGE: core::ops::Range<usize> = 0..8;
|
|||
const PAGE_NUMBER_RANGE: core::ops::Range<usize> = 10..54;
|
||||
|
||||
impl PageTableEntry {
|
||||
/// 创建一个新的页表项
|
||||
pub fn new(page_number: Option<PhysicalPageNumber>, mut flags: Flags) -> Self {
|
||||
flags.set(Flags::VALID, page_number.is_some());
|
||||
let inner = *0usize
|
||||
|
@ -16,19 +17,6 @@ impl PageTableEntry {
|
|||
.map(|a| a.into()).unwrap_or(0));
|
||||
PageTableEntry(inner)
|
||||
}
|
||||
/// 设置物理页号,同时根据 ppn 是否为 Some 来设置 Valid 位
|
||||
pub fn update_page_number(&mut self, ppn: Option<PhysicalPageNumber>) {
|
||||
let mut new_flags = self.flags();
|
||||
if ppn.is_some() {
|
||||
new_flags.insert(Flags::VALID)
|
||||
} else {
|
||||
new_flags.remove(Flags::VALID)
|
||||
};
|
||||
let new_ppn_bits = ppn.map(|a| a.into()).unwrap_or(0);
|
||||
self.0
|
||||
.set_bits(FLAG_RANGE, new_flags.bits())
|
||||
.set_bits(PAGE_NUMBER_RANGE, new_ppn_bits);
|
||||
}
|
||||
/// 获取页号
|
||||
pub fn page_number(&self) -> PhysicalPageNumber {
|
||||
PhysicalPageNumber::from(self.0.get_bits(10..54))
|
||||
|
|
|
@ -8,6 +8,7 @@ pub enum MapType {
|
|||
/// 线性映射,操作系统使用
|
||||
Linear,
|
||||
/// 按帧分配映射
|
||||
#[allow(unused)] // 后面给用户上下文用
|
||||
Framed,
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue