summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/pcb_ext.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-09-15 17:30:08 +0000
committerjhb <jhb@FreeBSD.org>2005-09-15 17:30:08 +0000
commitd032e7fca37d794f5e169437ead6635ee8f62cf2 (patch)
tree89fe32f5ac6fc2cdcd3a3a8e25cb53d70eab13e4 /sys/i386/include/pcb_ext.h
parent64235b259f7e66836a368e5da83478171cc651cc (diff)
downloadFreeBSD-src-d032e7fca37d794f5e169437ead6635ee8f62cf2.zip
FreeBSD-src-d032e7fca37d794f5e169437ead6635ee8f62cf2.tar.gz
Explicitly switch to the new TSS by updating the current CPU's TSS selector
and reloading it in i386_extend_pcb() rather than trying to force a context switch to reload the TSS via the TDF_NEEDRESCHED flag. Optimizations to avoid calling cpu_switch() when the new thread was identical to the old thread defeated the attempt to force a TSS reload. Explicitly loading the new TSS is what we really want to do anyway. PR: i386/84842 Reported by: Alexander Best arundel at h3c dot de MFC after: 1 week Reviewed by: bde (mostly)
Diffstat (limited to 'sys/i386/include/pcb_ext.h')
-rw-r--r--sys/i386/include/pcb_ext.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/i386/include/pcb_ext.h b/sys/i386/include/pcb_ext.h
index cf5a911..81e1bed 100644
--- a/sys/i386/include/pcb_ext.h
+++ b/sys/i386/include/pcb_ext.h
@@ -44,6 +44,7 @@ struct pcb_ext {
};
#ifdef _KERNEL
+extern int private_tss;
int i386_extend_pcb(struct thread *);
OpenPOWER on IntegriCloud