git: 614b6597e702 - main - amd64 FRED: use symbolic constant for the NMI unblocking bit for ERETS

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Fri, 30 Oct 2026 13:47:46 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=614b6597e7025b5b1dd23f058e53e8c28dc28efe

commit 614b6597e7025b5b1dd23f058e53e8c28dc28efe
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-30 12:46:52 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-30 13:47:12 +0000

    amd64 FRED: use symbolic constant for the NMI unblocking bit for ERETS
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 sys/amd64/amd64/exception.S | 3 ++-
 sys/amd64/amd64/genassym.c  | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
index ba997dd0ab84..85c5c50085a3 100644
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -1699,7 +1699,8 @@ fred_out_of_nmi:
 	pushq	$0
 	pushq	$0
 	movw	%ss,%ax
-	orl	$(1<<18),%eax	/* NMI block release for ERETS */
+	/* NMI block release for ERETS */
+	orl	$(TF_FRED_EVINFO1_NMI << 16),%eax
 	pushq	%rax
 	pushq	%rbp
 	pushfq
diff --git a/sys/amd64/amd64/genassym.c b/sys/amd64/amd64/genassym.c
index d0331e3bdfd9..aaeef58bf8e3 100644
--- a/sys/amd64/amd64/genassym.c
+++ b/sys/amd64/amd64/genassym.c
@@ -204,6 +204,7 @@ ASSYM(TF_FRED_EVINFO2_SYSCALLVAL, TF_FRED_EVINFO2_TYPE_SYSCALL |
     TF_FRED_EVINFO2_VEC_SYSCALL | TF_FRED_EVINFO2_LM);
 ASSYM(TF_FRED_EVINFO2_INSTLENMASK, TF_FRED_EVINFO2_INSTLENMASK);
 ASSYM(TF_FRED_EVINFO2_INSTLENSHIFT, TF_FRED_EVINFO2_INSTLENSHIFT);
+ASSYM(TF_FRED_EVINFO1_NMI, TF_FRED_EVINFO1_NMI);
 
 ASSYM(PTI_RDX, offsetof(struct pti_frame, pti_rdx));
 ASSYM(PTI_RAX, offsetof(struct pti_frame, pti_rax));