Date: Fri, 9 May 2014 09:06:19 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r265762 - projects/arm64/sys/arm64/arm64 Message-ID: <201405090906.s4996J9N047127@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Fri May 9 09:06:19 2014 New Revision: 265762 URL: http://svnweb.freebsd.org/changeset/base/265762 Log: More early initialisation. Modified: projects/arm64/sys/arm64/arm64/machdep.c Modified: projects/arm64/sys/arm64/arm64/machdep.c ============================================================================== --- projects/arm64/sys/arm64/arm64/machdep.c Fri May 9 09:02:29 2014 (r265761) +++ projects/arm64/sys/arm64/arm64/machdep.c Fri May 9 09:06:19 2014 (r265762) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include <sys/cpu.h> #include <sys/efi.h> #include <sys/imgact.h> +#include <sys/kdb.h> #include <sys/linker.h> #include <sys/pcpu.h> #include <sys/proc.h> @@ -55,6 +56,8 @@ __FBSDID("$FreeBSD$"); struct pcpu __pcpu[MAXCPU]; struct pcpu *pcpup = &__pcpu[0]; +static struct trapframe proc0_tf; + vm_paddr_t phys_avail[PHYS_AVAIL_SIZE]; int cold = 1; @@ -279,6 +282,17 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, panic("sendsig"); } +static void +init_proc0(vm_offset_t kstack) +{ + proc_linkup0(&proc0, &thread0); + thread0.td_kstack = kstack; + thread0.td_pcb = (struct pcb *) + (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + thread0.td_frame = &proc0_tf; + pcpup->pc_curpcb = thread0.td_pcb; +} + #ifdef EARLY_PRINTF static void foundation_early_putc(int c) @@ -499,10 +513,18 @@ initarm(struct arm64_bootparams *abp) pcpu_init(pcpup, 0, sizeof(struct pcpu)); PCPU_SET(curthread, &thread0); + /* Do basic tuning, hz etc */ + init_param1(); + /* Bootstrap enough of pmap to enter the kernel proper */ pmap_bootstrap(abp->kern_l1pt, KERNBASE - abp->kern_delta, lastaddr - KERNBASE); + init_proc0(abp->kern_stack); + mutex_init(); + init_param2(physmem); + kdb_init(); + printf("End initarm\n"); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405090906.s4996J9N047127>