svn commit: r196266 - projects/mips/sys/mips/mips
Warner Losh
imp at FreeBSD.org
Sat Aug 15 22:51:11 UTC 2009
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));
More information about the svn-src-projects
mailing list