summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2009-02-03 11:24:20 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2009-02-03 11:24:20 +0000
commitda56e28ebdc3bdfecf90063da7c3e744fbd3434e (patch)
treec71d1315046251dacdd7f34588cd199af805dada /sys/arch/i386/include
parent52cdb2d704b7a4e357e1c1e35240d0e7ebe2e84d (diff)
Free TSS on the stack of the dead process.
In order to do that we have to remove all sleeping parts: sleeping memory allocation and a sleeping lock. Thus we're moving this code to the spinning lock (mutex) and getting rid of the GDT grow code. Downside is that now we're pre-allocating 64kb of memory per CPU from the start, but this might be optimized in future. This also unifies GDT code and MAXGDTSIZ define across i386 and amd64. With help from mickey. ok toby, art
Diffstat (limited to 'sys/arch/i386/include')
-rw-r--r--sys/arch/i386/include/gdt.h15
1 files changed, 4 insertions, 11 deletions
diff --git a/sys/arch/i386/include/gdt.h b/sys/arch/i386/include/gdt.h
index 1b1ac72c88c..b34872d6ff3 100644
--- a/sys/arch/i386/include/gdt.h
+++ b/sys/arch/i386/include/gdt.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: gdt.h,v 1.11 2008/06/26 05:42:10 ray Exp $ */
+/* $OpenBSD: gdt.h,v 1.12 2009/02/03 11:24:19 mikeb Exp $ */
/* $NetBSD: gdt.h,v 1.7.10.6 2002/08/19 01:22:36 sommerfeld Exp $ */
/*-
@@ -50,15 +50,8 @@ void setgdt(int, void *, size_t, int, int, int, int);
#endif
/*
- * The initial GDT size (as a descriptor count), and the maximum
- * GDT size possible.
- *
- * These are actually not arbitrary. To start with, they have to be
- * multiples of 512 and at least 512, in order to work with the
- * allocation strategy set forth by gdt_init and gdt_grow. Then, the
- * max cannot exceed 65536 since the selector field of a descriptor is
- * just 16 bits, and used as free list link.
+ * Maximum GDT size. It cannot exceed 65536 since the selector field of
+ * a descriptor is just 16 bits, and used as free list link.
*/
-#define MINGDTSIZ 512
-#define MAXGDTSIZ 8192
+#define MAXGDTSIZ 65536