git: dc11af08a498 - main - loader.efi: tss_pa setup seems to be flawed in trap.c

From: Toomas Soome <tsoome_at_FreeBSD.org>
Date: Sat, 21 Feb 2026 08:56:24 UTC
The branch main has been updated by tsoome:

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

commit dc11af08a4983237a90c3500ecf500ed41b0802b
Author:     Toomas Soome <tsoome@FreeBSD.org>
AuthorDate: 2026-02-21 08:49:34 +0000
Commit:     Toomas Soome <tsoome@FreeBSD.org>
CommitDate: 2026-02-21 08:49:34 +0000

    loader.efi: tss_pa setup seems to be flawed in trap.c
    
    since sd_lobase is 24 bits, we would need to shift 24 bits, not 16.
    
    Reviewed by:    kib
    Differential Revision:  https://reviews.freebsd.org/D55178
---
 stand/efi/loader/arch/amd64/trap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/stand/efi/loader/arch/amd64/trap.c b/stand/efi/loader/arch/amd64/trap.c
index 671321be3628..97e78ecccf22 100644
--- a/stand/efi/loader/arch/amd64/trap.c
+++ b/stand/efi/loader/arch/amd64/trap.c
@@ -329,7 +329,7 @@ efi_redirect_exceptions(void)
 			free_tables();
 			return (0);
 		}
-		tss_pa = tss_desc->sd_lobase + (tss_desc->sd_hibase << 16);
+		tss_pa = tss_desc->sd_lobase + (tss_desc->sd_hibase << 24);
 		tss = (struct amd64tss *)tss_pa;
 		tss_desc->sd_type = SDT_SYSTSS; /* unbusy */
 	}