Currently one needs to set hw.pac.enable=0 to boot FreeBSD on the devkit. Some debugging indicates that the hang occurs when ptrauth_thread0() attempts to load the APIA key, but I don't have a good way to see what's actually happening. Maybe EL1 is configured to trap upon access to the key registers.
Noticed that too a few weeks ago, but did not investigate further. Also needs D37765 applied to boot.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=4b39a12830feaf2ac49b157ed079c04114b1a3ca commit 4b39a12830feaf2ac49b157ed079c04114b1a3ca Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2023-04-23 17:32:45 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2023-04-23 17:55:57 +0000 arm64: Disable PAC when booting on a Windows Dev Kit 2023 It appears that PAC registers are configured to trap upon access, but since the kernel starts in EL1 on this platform it has no ability to inspect or modify this configuration. Simply disable PAC on this platform for now, since the kernel otherwise hangs during boot. PR: 270472 Reviewed by: andrew, emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39748 sys/arm64/arm64/ptrauth.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-)