Author: kib
Date: Tue Aug 18 09:09:39 2015
New Revision: 286878
URL: https://svnweb.freebsd.org/changeset/base/286878

Log:
  MFC r286288:
  Give large kernel stack to the initial thread.

Modified:
  stable/10/sys/i386/i386/genassym.c
  stable/10/sys/i386/i386/locore.s
  stable/10/sys/i386/i386/machdep.c
  stable/10/sys/i386/include/param.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/i386/i386/genassym.c
==============================================================================
--- stable/10/sys/i386/i386/genassym.c  Tue Aug 18 09:09:27 2015        
(r286877)
+++ stable/10/sys/i386/i386/genassym.c  Tue Aug 18 09:09:39 2015        
(r286878)
@@ -103,6 +103,7 @@ ASSYM(V_SYSCALL, offsetof(struct vmmeter
 ASSYM(V_INTR, offsetof(struct vmmeter, v_intr));
 /* ASSYM(UPAGES, UPAGES);*/
 ASSYM(KSTACK_PAGES, KSTACK_PAGES);
+ASSYM(TD0_KSTACK_PAGES, TD0_KSTACK_PAGES);
 ASSYM(PAGE_SIZE, PAGE_SIZE);
 ASSYM(NPTEPG, NPTEPG);
 ASSYM(NPDEPG, NPDEPG);

Modified: stable/10/sys/i386/i386/locore.s
==============================================================================
--- stable/10/sys/i386/i386/locore.s    Tue Aug 18 09:09:27 2015        
(r286877)
+++ stable/10/sys/i386/i386/locore.s    Tue Aug 18 09:09:39 2015        
(r286878)
@@ -731,7 +731,7 @@ no_kernend:
        movl    %esi,R(IdlePTD)
 
 /* Allocate KSTACK */
-       ALLOCPAGES(KSTACK_PAGES)
+       ALLOCPAGES(TD0_KSTACK_PAGES)
        movl    %esi,R(p0kpa)
        addl    $KERNBASE, %esi
        movl    %esi, R(proc0kstack)
@@ -800,7 +800,7 @@ no_kernend:
 
 /* Map proc0's KSTACK in the physical way ... */
        movl    R(p0kpa), %eax
-       movl    $(KSTACK_PAGES), %ecx
+       movl    $(TD0_KSTACK_PAGES), %ecx
        fillkptphys($PG_RW)
 
 /* Map ISA hole */

Modified: stable/10/sys/i386/i386/machdep.c
==============================================================================
--- stable/10/sys/i386/i386/machdep.c   Tue Aug 18 09:09:27 2015        
(r286877)
+++ stable/10/sys/i386/i386/machdep.c   Tue Aug 18 09:09:39 2015        
(r286878)
@@ -3153,7 +3153,7 @@ init386(first)
 #endif
 
        thread0.td_kstack = proc0kstack;
-       thread0.td_kstack_pages = KSTACK_PAGES;
+       thread0.td_kstack_pages = TD0_KSTACK_PAGES;
 
        /*
         * This may be done better later if it gets more high level

Modified: stable/10/sys/i386/include/param.h
==============================================================================
--- stable/10/sys/i386/include/param.h  Tue Aug 18 09:09:27 2015        
(r286877)
+++ stable/10/sys/i386/include/param.h  Tue Aug 18 09:09:39 2015        
(r286878)
@@ -114,6 +114,11 @@
 #define KSTACK_PAGES 2         /* Includes pcb! */
 #endif
 #define KSTACK_GUARD_PAGES 1   /* pages of kstack guard; 0 disables */
+#if KSTACK_PAGES < 4
+#define        TD0_KSTACK_PAGES 4
+#else
+#define        TD0_KSTACK_PAGES KSTACK_PAGES
+#endif
 
 /*
  * Ceiling on amount of swblock kva space, can be changed via
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "[email protected]"

Reply via email to