Fix: unused warning for user level applications

This commit is contained in:
luojia65 2021-01-25 15:26:10 +08:00
parent 7d64ab8335
commit 7ad5ee7534
2 changed files with 2 additions and 13 deletions

View File

@ -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))

View File

@ -8,6 +8,7 @@ pub enum MapType {
/// 线性映射,操作系统使用
Linear,
/// 按帧分配映射
#[allow(unused)] // 后面给用户上下文用
Framed,
}