diff options
author | Mark Johnston <markj@FreeBSD.org> | 2021-06-01 14:28:57 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2021-06-08 13:37:48 +0000 |
commit | 0a41a2899eb226d34996b2470cf239d670ff186e (patch) | |
tree | ad1644a0688646c70d7cbc6ea0f6d93e4dc43e8d | |
parent | 1adf2f76c0c89db1beb2de4ac03a0b70db84bb6a (diff) | |
download | src-0a41a2899eb226d34996b2470cf239d670ff186e.tar.gz src-0a41a2899eb226d34996b2470cf239d670ff186e.zip |
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)
-rw-r--r-- | sys/i386/i386/machdep.c | 2 | ||||
-rw-r--r-- | sys/i386/include/md_var.h | 2 | ||||
-rw-r--r-- | 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 4ef37861b151..1aed12f422bc 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -1527,7 +1527,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 53e1861c8fff..0f0177012f3a 100644 --- a/sys/i386/include/md_var.h +++ b/sys/i386/include/md_var.h @@ -49,7 +49,7 @@ extern int sz_lcall_tramp; #endif extern uint32_t *vm_page_dump; 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 a34cfbb8b1c9..759c1ae8625a 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -2113,10 +2113,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. |