]> xenbits.xensource.com Git - people/royger/freebsd.git/commitdiff
i386: Make setidt_disp a size_t instead of uintptr_t
authorMark Johnston <markj@FreeBSD.org>
Tue, 1 Jun 2021 14:28:57 +0000 (10:28 -0400)
committerMark Johnston <markj@FreeBSD.org>
Tue, 1 Jun 2021 23:37:50 +0000 (19:37 -0400)
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
sys/i386/include/md_var.h
sys/x86/x86/local_apic.c

index ce4a264ede0193bb5da2e8b16b02e25522015922..869ee9958d2594fd12485e6a10c61e4b65746c07 100644 (file)
@@ -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)
index c41de85b9bc949d9ae05800a243089cc06148627..95f4907a61d05da397cafe1b52fc2ed0a63e9291 100644 (file)
@@ -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;
index bb575d0c601d29cdfa025ba4de8e7f50968376c5..9708121e08296e5ab92878040e6472443d2c17f3 100644 (file)
@@ -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.