git: d3040b1cf1e2 - stable/15 - amd64 FRED: use symbolic constant for the NMI unblocking bit for ERETS

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Tue, 03 Nov 2026 09:02:27 UTC
The branch stable/15 has been updated by kib:

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

commit d3040b1cf1e23333620ca9105601356619c5a0ea
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-30 12:46:52 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-11-03 09:01:20 +0000

    amd64 FRED: use symbolic constant for the NMI unblocking bit for ERETS
    
    (cherry picked from commit 614b6597e7025b5b1dd23f058e53e8c28dc28efe)
---
 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 d81d942b4b22..c259f6df0332 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 96421a90a102..b03c9b8062d2 100644
--- a/sys/amd64/amd64/genassym.c
+++ b/sys/amd64/amd64/genassym.c
@@ -202,6 +202,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));