Skip to content

Conversation

@febyeji
Copy link
Collaborator

@febyeji febyeji commented Nov 14, 2025

No description provided.

@febyeji febyeji force-pushed the feature/bbm-checker branch from 8be7f30 to 95802b4 Compare November 26, 2025 07:14
Copy link
Collaborator

@tperami tperami left a 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
Copy link
Collaborator

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
Copy link
Collaborator

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) :=
Copy link
Collaborator

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)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also filter on asids

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants