From cbe59a6475b6c36fac4073bcfc328099fc873420 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Tue, 1 Jun 2021 10:28:57 -0400 Subject: [PATCH] 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. -- 2.39.5