-
Notifications
You must be signed in to change notification settings - Fork 2
Implement break-before-make check #40
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: feature/tlb-ttbr
Are you sure you want to change the base?
Conversation
e3540a9 to
fb9172a
Compare
a8da16f to
5049e6f
Compare
fb9172a to
b3c82e2
Compare
5049e6f to
9e628cc
Compare
b3c82e2 to
8be7f30
Compare
9e628cc to
b0a7879
Compare
8be7f30 to
95802b4
Compare
tperami
left a comment
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.
Sorry not a full review but here are the comment I wrote during the last meeting
| omap (λ fe, | ||
| if decide (FE.lvl fe = plvl) | ||
| then Some (FE.ctxt fe) | ||
| else None) (elements tlb.(vatlb)) in |
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.
Don't filter just context, directly enumerate full entries, and make traverse_lvl take a full entry directly
| $ regval_to_val ttbr sreg.1; | ||
| let entry_addr := next_entry_addr val_ttbr va in | ||
| let loc := Loc.from_addr_in entry_addr in | ||
| if (Memory.read_at loc init mem time) is Some (memval, _) then |
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.
The memory not being found should be a catch fire condition
| (mem : Memory.t) | ||
| (time : nat) | ||
| (lvl : Level) | ||
| (ttbr : reg) : result string (t * bool) := |
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.
Take a parameter asids : gset (bv 16) and only push entries at those asids
| | Some plvl => | ||
| let pctxts := remove_dups $ | ||
| omap (λ fe, | ||
| if decide (FE.lvl fe = plvl) |
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.
Also filter on asids
No description provided.