Page MenuHomeFreeBSD

arm64/vmm: Refactor vmm_hyp.c
ClosedPublic

Authored by kajetan.puchalski_arm.com on Apr 21 2026, 11:09 AM.
Tags
None
Referenced Files
F175054130: D56553.id179460.diff
Wed, Oct 7, 10:36 PM
F175051640: D56553.id176259.diff
Wed, Oct 7, 10:10 PM
F175050439: D56553.id179455.diff
Wed, Oct 7, 9:56 PM
F175049271: D56553.id177458.diff
Wed, Oct 7, 9:44 PM
F175049076: D56553.id180982.diff
Wed, Oct 7, 9:42 PM
F175048975: D56553.id176275.diff
Wed, Oct 7, 9:40 PM
F175048866: D56553.id176098.diff
Wed, Oct 7, 9:39 PM
F175048865: D56553.id181362.diff
Wed, Oct 7, 9:39 PM
Subscribers

Details

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 72471
Build 69354: 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.Jun 4 2026, 2:45 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:01 PM
This revision was automatically updated to reflect the committed changes.