Skip to content

PTW: access vs guest page fault exception prioritization for Stage-1 PTEs with unsupported GPA sizes - #3789

Merged
ingallsj merged 1 commit into
masterfrom
tlb_gpa
Apr 21, 2026
Merged

PTW: access vs guest page fault exception prioritization for Stage-1 PTEs with unsupported GPA sizes#3789
ingallsj merged 1 commit into
masterfrom
tlb_gpa

Conversation

@ingallsj

@ingallsj ingallsj commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

Related issue: follows #3788

Type of change: bug report

Impact: functional fix

Development Phase: implementation

Release Notes
An access exception was raised instead of guest page fault exception for Stage-1 PTEs with unsupported GPA sizes.

PTW:

  1. Do not report invalid_paddr from Stage-1 (VS-mode) underneath Stage-2. Instead, rely on the invalid_gpa check from PTW Hypervisor bug fixes: check GPA bits higher than HGATP.Mode #3591.
  2. Remove the extra unnecessary logic from ae, because gf (guest fault) is higher priority in the fault prioritization checkExceptions list.
  3. An access exception from a Stage-2 (G-Stage) PTW for a Stage-1 (VS-stage) table (non-final) entry should be treated as a non-final access exception.

TLB:

  1. Swap the priority in gf_*_array so that a PTW guest fault is higher priority than access exception, following the same example as pf_*_array.

@ingallsj ingallsj added the bug label Apr 21, 2026
@ingallsj
ingallsj requested a review from aswaterman April 21, 2026 20:50
@ingallsj
ingallsj merged commit c1dda58 into master Apr 21, 2026
29 checks passed
@ingallsj
ingallsj deleted the tlb_gpa branch April 21, 2026 22:24
pipelinedestroyer added a commit to soct-org/rocket-chip that referenced this pull request May 20, 2026
Incorporates upstream changes:
- PTW: access vs guest page fault exception prioritization for Stage-1 PTEs with unsupported GPA sizes (chipsalliance#3789)
- PTW: traverse check GPA bits higher than HGATP mode also if table (chipsalliance#3788)
- PeripheryBus: named in/out xbars in getOrElse path
- TraceEncoderController: add hartId parameter

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants