-
Notifications
You must be signed in to change notification settings - Fork 116
MCS: Remove grant right from reply cap #808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: rt
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1017,7 +1017,8 @@ lemma receive_ipc_schact_is_rct_imp_ct_not_in_release_q: | |
| apply (wpsimp wp: complete_signal_schact_is_rct_imp_ct_not_in_release_q) | ||
| apply ((wpsimp wp: hoare_vcg_imp_lift' thread_get_wp')+)[2] | ||
| apply (wpsimp wp: thread_get_wp') | ||
| apply (wpsimp wp: hoare_vcg_imp_lift') | ||
| apply (wpsimp wp: hoare_vcg_imp_lift') | ||
| apply wpsimp | ||
| apply wpsimp | ||
| apply (wpsimp wp: hoare_vcg_imp_lift') | ||
| apply (wpsimp wp: hoare_vcg_imp_lift') | ||
|
|
@@ -1886,6 +1887,10 @@ lemma check_budget_restart_schact_is_rct_imp_ct_activatable[wp]: | |
| "check_budget_restart \<lbrace>\<lambda>s. schact_is_rct s \<longrightarrow> ct_in_state activatable s\<rbrace>" | ||
| by (wpsimp simp: check_budget_restart_def) | ||
|
|
||
| lemma update_reply_schact_is_rct_imp_ct_activatable[wp]: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| "update_reply ptr f \<lbrace>\<lambda>s. schact_is_rct s \<longrightarrow> ct_in_state activatable s\<rbrace>" | ||
| by (wpsimp simp: update_reply_def set_object_def get_object_def obj_at_def pred_tcb_at_def ct_in_state_def) | ||
|
|
||
| lemma receive_ipc_schact_is_rct_imp_ct_activatable[wp]: | ||
| "receive_ipc thread cap is_blocking reply_cap | ||
| \<lbrace>\<lambda>s :: det_state. schact_is_rct s \<longrightarrow> ct_in_state activatable s\<rbrace>" | ||
|
|
@@ -1899,8 +1904,8 @@ lemma receive_ipc_schact_is_rct_imp_ct_activatable[wp]: | |
| apply (case_tac ep; clarsimp) | ||
| apply (cases is_blocking; clarsimp) | ||
| apply (rule bind_wp_fwd_skip, solves \<open>(wpsimp | wpsimp wp: hoare_vcg_imp_lift')+\<close>)+ | ||
| apply (wpsimp wp: set_simple_ko_wp hoare_vcg_imp_lift') | ||
| apply (clarsimp simp: ct_in_state_def pred_tcb_at_def obj_at_def simple_obj_at_def) | ||
| apply (wpsimp wp: set_simple_ko_wp update_reply_wp update_sk_obj_ref_wp) | ||
| apply (fastforce simp: ct_in_state_def pred_tcb_at_def obj_at_def simple_obj_at_def) | ||
| apply (wpsimp wp: set_simple_ko_wp hoare_vcg_imp_lift') | ||
| apply (rule bind_wp_fwd_skip, solves \<open>(wpsimp | wpsimp wp: hoare_vcg_imp_lift')+\<close>)+ | ||
| apply (intro hoare_if) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -543,7 +543,7 @@ lemma is_cap_simps': | |
| "is_ntfn_cap cap = (\<exists>r b R. cap = cap.NotificationCap r b R)" | ||
| "is_zombie cap = (\<exists>r b n. cap = cap.Zombie r b n)" | ||
| "is_arch_cap cap = (\<exists>a. cap = cap.ArchObjectCap a)" | ||
| "is_reply_cap cap = (\<exists>x R. cap = cap.ReplyCap x R)" | ||
| "is_reply_cap cap = (\<exists>x. cap = cap.ReplyCap x)" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. While we're here, would a more informative name for the green variable |
||
| "is_sched_context_cap cap = (\<exists>x n. cap = cap.SchedContextCap x n)" | ||
| "is_nondevice_page_cap cap = (\<exists> u v w x. cap = ArchObjectCap (PageCap False u v w x))" | ||
| by (cases cap, (auto simp: is_zombie_def is_arch_cap_def is_nondevice_page_cap_def | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think Nick ended up adding this when he did the rules for
replyUnlink_ccorresandcancelIPC_ccorres. So this is duplicated now, though I'm not sure where his rule ended up.