Skip to content

Commit 44d15a9

Browse files
committed
Format code
Signed-off-by: Yonghao Zou <zouyonghao@live.cn>
1 parent 8f9f18e commit 44d15a9

4 files changed

Lines changed: 28 additions & 16 deletions

File tree

lock-protocol/src/exec/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ pub fn alloc_page_table<C: PageTableConfig>(
147147
// // fn is_last(&self, level: u8) -> bool {
148148
// level == 1
149149
// }
150-
151150
/// open spec fn is_last_spec(&self, level: PagingLevel) -> bool {
152151
/// level == 1
153152
/// }

lock-protocol/src/mm/frame/frame_ref.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ use core::marker::PhantomData;
44
use core::mem::ManuallyDrop;
55
use core::ops::Deref;
66

7-
use crate::{mm::{cursor::MAX_NR_LEVELS, Paddr, PageTableConfig, PageTableNode, PagingConsts}, x86_64::NR_LEVELS_SPEC};
7+
use crate::{
8+
mm::{cursor::MAX_NR_LEVELS, Paddr, PageTableConfig, PageTableNode, PagingConsts},
9+
x86_64::NR_LEVELS_SPEC,
10+
};
811

912
use super::{allocator::AllocatorModel, meta::AnyFrameMeta, Frame};
1013
use crate::mm::page_table::PagingConstsTrait;

lock-protocol/src/mm/page_table/node/child.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ impl<'a, C: PageTableConfig> ChildRef<'a, C> {
147147
assert(node.wf(&spt.alloc_model));
148148
let res = ChildRef::PageTable(node);
149149
assert(spt.i_ptes.value().contains_key(entry.pte.pte_paddr() as int));
150-
assert(node.level_spec(&spt.alloc_model) == entry.node.level_spec(&spt.alloc_model) - 1);
150+
assert(node.level_spec(&spt.alloc_model) == entry.node.level_spec(&spt.alloc_model)
151+
- 1);
151152
assert(res.child_entry_spt_wf(entry, spt));
152153
assert(!(res is None));
153154
assert(pte.is_present());

lock-protocol/src/mm/page_table/node/entry.rs

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ use crate::{
77
helpers::conversion::usize_mod_is_int_mod,
88
mm::{
99
cursor::spec_helpers::{
10-
self, alloc_model_do_not_change_except_add_frame, spt_do_not_change_above_level, spt_do_not_change_except_frames_change, spt_do_not_change_except_modify_pte
10+
self, alloc_model_do_not_change_except_add_frame, spt_do_not_change_above_level,
11+
spt_do_not_change_except_frames_change, spt_do_not_change_except_modify_pte,
1112
},
1213
frame::allocator::AllocatorModel,
1314
meta::AnyFrameMeta,
@@ -19,7 +20,8 @@ use crate::{
1920
NR_ENTRIES,
2021
},
2122
sync::rcu::RcuDrop,
22-
task::DisabledPreemptGuard, x86_64::NR_LEVELS_SPEC,
23+
task::DisabledPreemptGuard,
24+
x86_64::NR_LEVELS_SPEC,
2325
};
2426

2527
use super::{Child, ChildRef, PageTableGuard, PageTableNode, PageTableNodeRef};
@@ -83,17 +85,24 @@ impl<'a, 'rcu, C: PageTableConfig> Entry<'a, 'rcu, C> {
8385
&&& self.pte.is_present() <==> {
8486
&&& spt.alloc_model.meta_map.contains_key(self.pte.frame_paddr() as int)
8587
}
86-
&&& forall |level: u8| self.pte.is_last(level) <==> {
87-
spt.ptes.value().contains_key(self.pte.pte_paddr() as int) && level == 1
88-
}
89-
&&& forall |level: u8| !self.pte.is_last(level) <==> {
90-
&&& #[trigger] spt.i_ptes.value().contains_key(#[trigger] self.pte.pte_paddr_spec() as int)
91-
&&& level == self.node.level_spec(&spt.alloc_model)
92-
&&& #[trigger] level_is_in_range::<C>(level as int)
93-
// When this is an intermediate PTE, the child frame's level should be one less than current node's level
94-
&&& spt.alloc_model.meta_map.contains_key(self.pte.frame_paddr() as int)
95-
&&& spt.alloc_model.meta_map[self.pte.frame_paddr() as int].value().level == level - 1
96-
}
88+
&&& forall|level: u8|
89+
self.pte.is_last(level) <==> {
90+
spt.ptes.value().contains_key(self.pte.pte_paddr() as int) && level == 1
91+
}
92+
&&& forall|level: u8|
93+
!self.pte.is_last(level) <==> {
94+
&&& #[trigger] spt.i_ptes.value().contains_key(
95+
#[trigger] self.pte.pte_paddr_spec() as int,
96+
)
97+
&&& level == self.node.level_spec(&spt.alloc_model)
98+
&&& #[trigger] level_is_in_range::<C>(
99+
level as int,
100+
)
101+
// When this is an intermediate PTE, the child frame's level should be one less than current node's level
102+
&&& spt.alloc_model.meta_map.contains_key(self.pte.frame_paddr() as int)
103+
&&& spt.alloc_model.meta_map[self.pte.frame_paddr() as int].value().level == level
104+
- 1
105+
}
97106
}
98107

99108
#[verifier::external_body]

0 commit comments

Comments
 (0)