From 950e46c329994dbc0aa73b0261f5cf27ec7e8e5f Mon Sep 17 00:00:00 2001 From: Oleksandr Tymoshenko Date: Mon, 9 Nov 2009 22:01:58 +0000 Subject: [PATCH] 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 --- sys/mips/mips/machdep.c | 3 +++ sys/mips/mips/pmap.c | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/mips/mips/machdep.c b/sys/mips/mips/machdep.c index 6bd518018e7c..9898ab763845 100644 --- a/sys/mips/mips/machdep.c +++ b/sys/mips/mips/machdep.c @@ -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 diff --git a/sys/mips/mips/pmap.c b/sys/mips/mips/pmap.c index 25b0b3a7bbd1..de144391a663 100644 --- a/sys/mips/mips/pmap.c +++ b/sys/mips/mips/pmap.c @@ -331,9 +331,6 @@ pmap_bootstrap(void) 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. */