git: 949fb4f9627b - stable/13 - i386: Make setidt_disp a size_t instead of uintptr_t

Mark Johnston markj at FreeBSD.org
Tue Jun 8 13:38:04 UTC 2021


The branch stable/13 has been updated by markj:

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

commit 949fb4f9627b2727e4e3775d24dbc76638e885de
Author:     Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-06-01 14:28:57 +0000
Commit:     Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-06-08 13:27:32 +0000

    i386: Make setidt_disp a size_t instead of uintptr_t
    
    setidt_disp is the offset of the ISR trampoline relative to the address
    of the routines in exception.s, so uintptr_t is not quite right.
    
    Also remove a bogus declaration I added in commit 18f55c67f7, it is not
    required after all.
    
    Reported by:    jrtc27
    Reviewed by:    jrtc27, kib
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit cbe59a6475b6c36fac4073bcfc328099fc873420)
---
 sys/i386/i386/machdep.c   | 2 +-
 sys/i386/include/md_var.h | 2 +-
 sys/x86/x86/local_apic.c  | 4 ----
 3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 888550eab6ad..6b622c826265 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -1514,7 +1514,7 @@ static struct soft_segment_descriptor ldt_segs[] = {
 	.ssd_gran = 1		},
 };
 
-uintptr_t setidt_disp;
+size_t setidt_disp;
 
 void
 setidt(int idx, inthand_t *func, int typ, int dpl, int selec)
diff --git a/sys/i386/include/md_var.h b/sys/i386/include/md_var.h
index c41de85b9bc9..95f4907a61d0 100644
--- a/sys/i386/include/md_var.h
+++ b/sys/i386/include/md_var.h
@@ -48,7 +48,7 @@ extern	int	szosigcode;
 extern	int	sz_lcall_tramp;
 #endif
 extern  vm_offset_t proc0kstack;
-extern	uintptr_t setidt_disp;
+extern	size_t setidt_disp;
 
 struct	segment_descriptor;
 union savefpu;
diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
index 28443c43cfc9..ee549559f5b1 100644
--- a/sys/x86/x86/local_apic.c
+++ b/sys/x86/x86/local_apic.c
@@ -2115,10 +2115,6 @@ native_lapic_ipi_vectored(u_int vector, int dest)
 
 #endif /* SMP */
 
-#ifdef __i386__
-extern uintptr_t setidt_disp;
-#endif
-
 /*
  * Since the IDT is shared by all CPUs the IPI slot update needs to be globally
  * visible.


More information about the dev-commits-src-all mailing list