git: cbe59a6475b6 - main - i386: Make setidt_disp a size_t instead of uintptr_t

Mark Johnston markj at FreeBSD.org
Tue Jun 1 23:51:06 UTC 2021


The branch main has been updated by markj:

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

commit cbe59a6475b6c36fac4073bcfc328099fc873420
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-01 23:37:50 +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
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D30590
---
 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 ce4a264ede01..869ee9958d25 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -1507,7 +1507,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 bb575d0c601d..9708121e0829 100644
--- a/sys/x86/x86/local_apic.c
+++ b/sys/x86/x86/local_apic.c
@@ -2127,10 +2127,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