Page MenuHomeFreeBSD

arm64/vmm: Move host-side EL2 regs into sys_regs
Needs ReviewPublic

Authored by kajetan.puchalski_arm.com on Apr 21 2026, 11:09 AM.
Tags
None
Referenced Files
F160427848: D56555.id179457.diff
Wed, Jun 24, 8:11 AM
F160426850: D56555.id179462.diff
Wed, Jun 24, 8:08 AM
F160400891: D56555.id179465.diff
Wed, Jun 24, 3:33 AM
Unknown Object (File)
Tue, Jun 23, 8:36 AM
Unknown Object (File)
Mon, Jun 22, 1:34 PM
Unknown Object (File)
Sun, Jun 21, 7:38 PM
Unknown Object (File)
Sat, Jun 20, 4:26 PM
Unknown Object (File)
Fri, Jun 5, 12:10 AM
Subscribers

Details

Reviewers
andrew
manu
Group Reviewers
arm64
Summary

Move EL2 host registers that are not visible to the guest into
hypctx->sys_regs. Prefix them with HOST_ to distinguish from EL2
registers which are part of the guest's own state (e.g. in VNCR).

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 74148
Build 71031: 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

I looks like some lines might be wider than 80 characters

sys/arm64/vmm/vmm_hyp.c
170–172

Style

Put potentially exotic registers in a separate array