Page MenuHomeFreeBSD

arm64/vmm: Make remaining registers use hypctx_*_sys_reg
Needs ReviewPublic

Authored by kajetan.puchalski_arm.com on Apr 21 2026, 11:09 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 1, 3:51 AM
Unknown Object (File)
Thu, May 28, 10:46 PM
Unknown Object (File)
Thu, May 28, 10:46 PM
Unknown Object (File)
Thu, May 28, 4:52 PM
Unknown Object (File)
Tue, May 26, 8:05 AM
Unknown Object (File)
Tue, May 26, 8:04 AM
Unknown Object (File)
Fri, May 22, 7:46 AM
Unknown Object (File)
Sun, May 17, 12:15 PM
Subscribers

Details

Reviewers
andrew
manu
Group Reviewers
arm64
Summary

Move vgic, timer and trapframe registers into sys_regs to handle them
in the same way as all the other registers.

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 73282
Build 70165: 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/hyp.h
113–115 ↗(On Diff #177461)

We should create and use hyp_genassym.c if we need access to the enum from assembly.