Page MenuHomeFreeBSD

arm64/vmm: Refactor vmm_hyp.c
AcceptedPublic

Authored by kajetan.puchalski_arm.com on Apr 21 2026, 11:09 AM.
Tags
None
Referenced Files
F158717546: D56553.id176725.diff
Fri, Jun 5, 12:39 AM
F158712455: D56553.id176104.diff
Thu, Jun 4, 11:30 PM
F158701738: D56553.id177458.diff
Thu, Jun 4, 8:52 PM
F158698853: D56553.id176985.diff
Thu, Jun 4, 8:10 PM
Unknown Object (File)
Thu, Jun 4, 4:50 PM
Unknown Object (File)
Thu, Jun 4, 6:23 AM
Unknown Object (File)
Thu, Jun 4, 6:23 AM
Unknown Object (File)
Thu, Jun 4, 6:23 AM
Subscribers

Details

Reviewers
andrew
manu
Group Reviewers
arm64
Summary

Refactor vmm_hyp.c to split register reload logic by type of register,
streamline the implementation and improve readability.

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 72509
Build 69392: arc lint + arc unit

Event Timeline

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

sys/arm64/vmm/vmm_hyp.c
304–309
318–325
This revision is now accepted and ready to land.Thu, Jun 4, 2:45 PM