Author: gonzo
Date: Mon Nov  9 22:01:58 2009
New Revision: 199114
URL: http://svn.freebsd.org/changeset/base/199114

Log:
  Unbreak booting of FreeBSD/mips by merging r195429 from projects/mips:
  - Move dpcpu initialization to mips_proc0_init. It's
      more appropriate place for it. Besides dpcpu_init
      requires pmap module to be initialized and calling it
      int pmap.c hangs the system

Modified:
  head/sys/mips/mips/machdep.c
  head/sys/mips/mips/pmap.c

Modified: head/sys/mips/mips/machdep.c
==============================================================================
--- head/sys/mips/mips/machdep.c        Mon Nov  9 21:54:34 2009        
(r199113)
+++ head/sys/mips/mips/machdep.c        Mon Nov  9 22:01:58 2009        
(r199114)
@@ -274,6 +274,9 @@ mips_proc0_init(void)
            (thread0.td_kstack_pages - 1) * PAGE_SIZE) - 1;
        thread0.td_frame = &thread0.td_pcb->pcb_regs;
 
+       /* Steal memory for the dynamic per-cpu area. */
+       dpcpu_init((void *)pmap_steal_memory(DPCPU_SIZE), 0);
+
        /*
         * There is no need to initialize md_upte array for thread0 as it's
         * located in .bss section and should be explicitly zeroed during 

Modified: head/sys/mips/mips/pmap.c
==============================================================================
--- head/sys/mips/mips/pmap.c   Mon Nov  9 21:54:34 2009        (r199113)
+++ head/sys/mips/mips/pmap.c   Mon Nov  9 22:01:58 2009        (r199114)
@@ -331,9 +331,6 @@ again:
        msgbufp = (struct msgbuf *)pmap_steal_memory(MSGBUF_SIZE);
        msgbufinit(msgbufp, MSGBUF_SIZE);
 
-       /* Steal memory for the dynamic per-cpu area. */
-       dpcpu_init((void *)pmap_steal_memory(DPCPU_SIZE), 0);
-
        /*
         * Steal thread0 kstack.
         */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to