Module Name:    src
Committed By:   maxv
Date:           Sun Jul  2 09:02:06 UTC 2017

Modified Files:
        src/sys/arch/i386/i386: gdt.c mptramp.S
        src/sys/arch/i386/include: gdt.h

Log Message:
Define MINGDTSIZ/MAXGDTSIZ in bytes, not in number of slots; same as
amd64.


To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 src/sys/arch/i386/i386/gdt.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/i386/i386/mptramp.S
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/i386/include/gdt.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/i386/gdt.c
diff -u src/sys/arch/i386/i386/gdt.c:1.61 src/sys/arch/i386/i386/gdt.c:1.62
--- src/sys/arch/i386/i386/gdt.c:1.61	Sat Jun 17 09:32:53 2017
+++ src/sys/arch/i386/i386/gdt.c	Sun Jul  2 09:02:06 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: gdt.c,v 1.61 2017/06/17 09:32:53 maxv Exp $	*/
+/*	$NetBSD: gdt.c,v 1.62 2017/07/02 09:02:06 maxv Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.61 2017/06/17 09:32:53 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.62 2017/07/02 09:02:06 maxv Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_xen.h"
@@ -110,10 +110,10 @@ gdt_init(void)
 	vaddr_t va;
 	struct cpu_info *ci = &cpu_info_primary;
 
-	max_len = MAXGDTSIZ * sizeof(gdtstore[0]);
-	min_len = MINGDTSIZ * sizeof(gdtstore[0]);
+	max_len = MAXGDTSIZ;
+	min_len = MINGDTSIZ;
 
-	gdt_size = MINGDTSIZ;
+	gdt_size = (MINGDTSIZ / sizeof(gdtstore[0]));
 	gdt_count = NGDT;
 	gdt_next = NGDT;
 	gdt_free = GNULL_SEL;
@@ -146,8 +146,8 @@ gdt_init(void)
 void
 gdt_alloc_cpu(struct cpu_info *ci)
 {
-	int max_len = MAXGDTSIZ * sizeof(gdtstore[0]);
-	int min_len = MINGDTSIZ * sizeof(gdtstore[0]);
+	int max_len = MAXGDTSIZ;
+	int min_len = MINGDTSIZ;
 	struct vm_page *pg;
 	vaddr_t va;
 
@@ -180,7 +180,7 @@ gdt_init_cpu(struct cpu_info *ci)
 	struct region_descriptor region;
 	size_t max_len;
 
-	max_len = MAXGDTSIZ * sizeof(gdtstore[0]);
+	max_len = MAXGDTSIZ;
 	setregion(&region, ci->ci_gdt, max_len - 1);
 	lgdt(&region);
 #else
@@ -273,7 +273,7 @@ gdt_get_slot(void)
 		if (gdt_next != gdt_count + offset)
 			panic("gdt_get_slot botch 1");
 		if (gdt_next - offset >= gdt_size) {
-			if (gdt_size >= MAXGDTSIZ)
+			if (gdt_size >= (MAXGDTSIZ / sizeof(gdtstore[0])))
 				panic("gdt_get_slot botch 2");
 			gdt_grow();
 		}

Index: src/sys/arch/i386/i386/mptramp.S
diff -u src/sys/arch/i386/i386/mptramp.S:1.29 src/sys/arch/i386/i386/mptramp.S:1.30
--- src/sys/arch/i386/i386/mptramp.S:1.29	Sat May 14 08:34:00 2016
+++ src/sys/arch/i386/i386/mptramp.S	Sun Jul  2 09:02:06 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: mptramp.S,v 1.29 2016/05/14 08:34:00 maxv Exp $	*/
+/*	$NetBSD: mptramp.S,v 1.30 2017/07/02 09:02:06 maxv Exp $	*/
 
 /*
  * Copyright (c) 2000, 2016 The NetBSD Foundation, Inc.
@@ -75,7 +75,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: mptramp.S,v 1.29 2016/05/14 08:34:00 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mptramp.S,v 1.30 2017/07/02 09:02:06 maxv Exp $");
 
 #include "opt_mpbios.h"		/* for MPDEBUG */
 
@@ -223,7 +223,7 @@ no_NOX:
 
 	/* %ecx points at our cpu_info structure. */
 
-	movw	$((MAXGDTSIZ*8) - 1), 6(%esp)	/* prepare segment descriptor */
+	movw	$(MAXGDTSIZ-1), 6(%esp)	/* prepare segment descriptor */
 	movl	CPU_INFO_GDT(%ecx), %eax	/* for our real gdt */
 	movl	%eax, 8(%esp)
 	lgdt	6(%esp)

Index: src/sys/arch/i386/include/gdt.h
diff -u src/sys/arch/i386/include/gdt.h:1.15 src/sys/arch/i386/include/gdt.h:1.16
--- src/sys/arch/i386/include/gdt.h:1.15	Wed Feb  8 10:08:26 2017
+++ src/sys/arch/i386/include/gdt.h	Sun Jul  2 09:02:06 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: gdt.h,v 1.15 2017/02/08 10:08:26 maxv Exp $	*/
+/*	$NetBSD: gdt.h,v 1.16 2017/07/02 09:02:06 maxv Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -44,5 +44,5 @@ void ldt_free(int);
 
 #endif /* LOCORE */
 
-#define	MINGDTSIZ	512
-#define	MAXGDTSIZ	8192
+#define	MINGDTSIZ	PAGE_SIZE
+#define	MAXGDTSIZ	65536

Reply via email to