Page MenuHomeFreeBSD

arm64/vmm: Move vttbr_el2 & vtimer into struct hypctx
ClosedPublic

Authored by kajetan.puchalski_arm.com on Apr 21 2026, 11:09 AM.
Tags
None
Referenced Files
F168716146: D56554.id179456.diff
Sat, Aug 29, 7:07 PM
F168716056: D56554.id176260.diff
Sat, Aug 29, 7:07 PM
F168701751: D56554.id176260.diff
Sat, Aug 29, 5:21 PM
F168691797: D56554.id178191.diff
Sat, Aug 29, 3:57 PM
F168677416: D56554.id176260.diff
Sat, Aug 29, 2:11 PM
F168675940: D56554.id181363.diff
Sat, Aug 29, 2:03 PM
F168675736: D56554.id175977.diff
Sat, Aug 29, 2:01 PM
F168675537: D56554.id176986.diff
Sat, Aug 29, 2:00 PM
Subscribers

Details

Summary

Move vttbr_el2 & vtimer from struct hyp into struct hypctx to streamline
the logic and handle them in the same way as other *_el2 registers are
already being handled.

Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 74412
Build 71295: arc lint + arc unit

Event Timeline

Update with changes to other commits in the stack

Encode VNCR values into enum hypctx_sysreg as 64-bit offsets

Handle non-VHE, store the vncr page as a pointer

Address remaining style review comments

Use Static_assert to ensure correct struct hypctx size

This revision is now accepted and ready to land.Jun 4 2026, 2:46 PM
This revision now requires review to proceed.Jun 9 2026, 3:28 PM

Put potentially exotic registers in a separate array

Only separate out registers relevant for morello

This revision is now accepted and ready to land.Jun 30 2026, 3:02 PM