Skip to content

fix(VMPromising): Select TTBRs for ASID and root - #191

Open
febyeji wants to merge 1 commit into
mainfrom
fix/vmp-tcr-ttbr-selection
Open

fix(VMPromising): Select TTBRs for ASID and root#191
febyeji wants to merge 1 commit into
mainfrom
fix/vmp-tcr-ttbr-selection

Conversation

@febyeji

@febyeji febyeji commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

@tperami

tperami commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Simplified plan first:

  • Not reading TCR, assuming TTBR0 has the ASID
  • Ignoring the TCR entirely, assuming the expected configuration
  • For TLB lookup:
    • Get the ASID from TTBR0 independently of whether the VA in in the low or high range
  • For TLB fill:
    • If filling in the low range, do the same thing as before, read TTBR0 to get a linked ASID and page table root
    • If filling in the high range, need to both read TTBR0 and TTBR1 for the ASID and page table root.
      Then do the fill for all pairs of ASID+root in the Cartesian product.

@febyeji
febyeji force-pushed the fix/vmp-tcr-ttbr-selection branch 4 times, most recently from 320f7f8 to ebbb7db Compare July 4, 2026 14:57
@febyeji febyeji changed the title fix(VMPromising): Select TTBR from TCR ranges fix(VMPromising): Select TTBRs for ASID and root Jul 4, 2026
@febyeji
febyeji force-pushed the fix/vmp-tcr-ttbr-selection branch 5 times, most recently from d1ca646 to 63d0133 Compare July 4, 2026 15:35
@febyeji
febyeji requested a review from tperami July 4, 2026 15:38
Comment thread ArchSemArm/VMPromising.v Outdated
Comment thread ArchSemArm/VMPromising.v Outdated
Comment thread ArchSemArm/VMPromising.v Outdated
Comment thread ArchSemArm/VMPromising.v Outdated
@febyeji
febyeji force-pushed the fix/vmp-tcr-ttbr-selection branch from 63d0133 to 370ad1c Compare July 5, 2026 13:30
- Require TCR_EL1.A1 = 0 before selecting EL10 TTBRs.
- Use TTBR0_EL1 as the ASID source while selecting TTBR0_EL1 or TTBR1_EL1 as the page-table root from the VA range.
- Fill TLB entries over ASID/root candidates when the ASID source and root TTBR differ.

Related scenario:
- PR #191 high-range EL10 TLB fill uses TTBR0_EL1 as the ASID source and TTBR1_EL1 as the page-table root.

Related validation:
- No standalone litmus regression is checked into this branch; the focused validation target is ArchSemArm/VMPromising.vo.
@febyeji
febyeji force-pushed the fix/vmp-tcr-ttbr-selection branch from 370ad1c to 2fb3ce1 Compare July 5, 2026 21:20
febyeji added a commit that referenced this pull request Jul 7, 2026
- Require TCR_EL1.A1 = 0 before selecting EL10 TTBRs.
- Use TTBR0_EL1 as the ASID source while selecting TTBR0_EL1 or TTBR1_EL1 as the page-table root from the VA range.
- Fill TLB entries over ASID/root candidates when the ASID source and root TTBR differ.

Related scenario:
- PR #191 high-range EL10 TLB fill uses TTBR0_EL1 as the ASID source and TTBR1_EL1 as the page-table root.

Related validation:
- No standalone litmus regression is checked into this branch; the focused validation target is ArchSemArm/VMPromising.vo.
febyeji added a commit that referenced this pull request Jul 7, 2026
- Require TCR_EL1.A1 = 0 before selecting EL10 TTBRs.
- Use TTBR0_EL1 as the ASID source while selecting TTBR0_EL1 or TTBR1_EL1 as the page-table root from the VA range.
- Fill TLB entries over ASID/root candidates when the ASID source and root TTBR differ.

Related scenario:
- PR #191 high-range EL10 TLB fill uses TTBR0_EL1 as the ASID source and TTBR1_EL1 as the page-table root.

Related validation:
- No standalone litmus regression is checked into this branch; the focused validation target is ArchSemArm/VMPromising.vo.
febyeji added a commit that referenced this pull request Jul 7, 2026
- Require TCR_EL1.A1 = 0 before selecting EL10 TTBRs.
- Use TTBR0_EL1 as the ASID source while selecting TTBR0_EL1 or TTBR1_EL1 as the page-table root from the VA range.
- Fill TLB entries over ASID/root candidates when the ASID source and root TTBR differ.

Related scenario:
- PR #191 high-range EL10 TLB fill uses TTBR0_EL1 as the ASID source and TTBR1_EL1 as the page-table root.

Related validation:
- No standalone litmus regression is checked into this branch; the focused validation target is ArchSemArm/VMPromising.vo.
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.

VMPromising: Use TCR_EL1 to select ASID

2 participants