From owner-svn-src-projects@FreeBSD.ORG Sat Aug 15 22:51:11 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC3FE106568C; Sat, 15 Aug 2009 22:51:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AC3FA8FC4D; Sat, 15 Aug 2009 22:51:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7FMpBPu092529; Sat, 15 Aug 2009 22:51:11 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7FMpBJQ092527; Sat, 15 Aug 2009 22:51:11 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200908152251.n7FMpBJQ092527@svn.freebsd.org> From: Warner Losh Date: Sat, 15 Aug 2009 22:51:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196266 - projects/mips/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Aug 2009 22:51:11 -0000 Author: imp Date: Sat Aug 15 22:51:11 2009 New Revision: 196266 URL: http://svn.freebsd.org/changeset/base/196266 Log: (1) Fix a few 32/64-bit bugs. (2) Also, always allocate 2 pages for the stack to optimize TLB usage. Submitted by: neel@ (2) Modified: projects/mips/sys/mips/mips/machdep.c Modified: projects/mips/sys/mips/mips/machdep.c ============================================================================== --- projects/mips/sys/mips/mips/machdep.c Sat Aug 15 22:48:09 2009 (r196265) +++ projects/mips/sys/mips/mips/machdep.c Sat Aug 15 22:51:11 2009 (r196266) @@ -104,6 +104,7 @@ SYSCTL_STRING(_hw, HW_MODEL, model, CTLF int cold = 1; long realmem = 0; +long Maxmem = 0; int cpu_clock = MIPS_DEFAULT_HZ; SYSCTL_INT(_hw, OID_AUTO, clockrate, CTLFLAG_RD, &cpu_clock, 0, "CPU instruction clock rate"); @@ -170,11 +171,13 @@ cpu_startup(void *dummy) printf("Physical memory chunk(s):\n"); for (indx = 0; phys_avail[indx + 1] != 0; indx += 2) { - int size1 = phys_avail[indx + 1] - phys_avail[indx]; + uintptr_t size1 = phys_avail[indx + 1] - phys_avail[indx]; - printf("0x%08x - 0x%08x, %u bytes (%u pages)\n", - phys_avail[indx], phys_avail[indx + 1] - 1, size1, - size1 / PAGE_SIZE); + printf("0x%08llx - 0x%08llx, %llu bytes (%llu pages)\n", + (unsigned long long)phys_avail[indx], + (unsigned long long)phys_avail[indx + 1] - 1, + (unsigned long long)size1, + (unsigned long long)size1 / PAGE_SIZE); } } @@ -255,10 +258,7 @@ mips_proc0_init(void) proc_linkup(&proc0, &thread0); thread0.td_kstack = kstack0; thread0.td_kstack_pages = KSTACK_PAGES - 1; - if (thread0.td_kstack & (1 << PAGE_SHIFT)) - thread0.td_md.md_realstack = thread0.td_kstack + PAGE_SIZE; - else - thread0.td_md.md_realstack = thread0.td_kstack; + thread0.td_md.md_realstack = roundup2(thread0.td_kstack, PAGE_SIZE * 2); /* Initialize pcpu info of cpu-zero */ #ifdef SMP pcpu_init(&__pcpu[0], 0, sizeof(struct pcpu));