Date: Fri, 25 Apr 2008 11:50:55 -0500 (CDT) From: Mark Tinguely <tinguely@casselton.net> To: freebsd-arm@freebsd.org, ray@dlink.ua Subject: Re: FreeBSD on PXA255 board Message-ID: <200804251650.m3PGotrp009557@casselton.net> In-Reply-To: <20080425172122.5d7d723b.ray@dlink.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
> I`m trying to run FreeBSD 7.0 on PXA255 chip (board Palm Tungsten C). > Machine depended code partially write by me, and kernel started, but I > have big problem. Can`t resolve problem without experience in > internals of kernel. > So I put to kernel code many printf`s, and can see this picture: > > KDB: debugger backends: ddb > KDB: current backend: ddb > Copyright (c) 1992-2008 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights > reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 7.0-STABLE #130: Fri Apr 25 16:58:58 EEST 2008 > ray@terran.mk.farlep.net:/usr/home/ray/Projects/ARM/Palm_TC/NanoBSD/Nano-BSD-obj/arm/usr/home/ray/Projects/ARM/Palm_TC/FreeBSD/src/sys/PALMTC > WARNING: DIAGNOSTIC option enabled, expect reduced performance. > subsystem 900000 > 0xc02670f8(0)... done. > subsystem 1000000 > 0xc03806fc(0)... vm_mem_init: vm_set_page_size > vm_page_startup: new_end=a3fcf000 end=a3fff000 boot_pages=30 UMA_SLAB_SIZE=1000 /usr/home/ray/Projects/ARM/Palm_TC/FreeBSD/src/sys/vm/vm_page.c:277 > vm_page_startup: new_end = trunc_page(new_end) = a3fcf000 /usr/home/ray/Projects/ARM/Palm_TC/FreeBSD/src/sys/vm/vm_page.c:279 > IN SOURCE CODE THERE: mapped = pmap_map(&vaddr, new_end, end, VM_PROT_READ | VM_PROT_WRITE); > vm_page_startup: pmap_map(&vaddr=C00FBE7C, new_end=A3FCF000,end=A3FFF000, VM_PROT_READ | VM_PROT_WRITE) = bfecf000 (vaddr=C0544000) /usr/home/ray/Projects/ARM/Palm_TC/FreeBSD/src/sys/vm/vm_page.c:284 > IN SOURCE CODE THERE: bzero((void *)mapped, end - new_end); > vm_page_startup: call uma_startup(bfecf000, 00000030) /usr/home/ray/Projects/ARM/Palm_TC/FreeBSD/src/sys/vm/vm_page.c:287 > IN SOURCE CODE THERE: uma_startup((void *)mapped, boot_pages); > > __END__ Did you specify enough kernel page tables to map the kernel, the device mappings and the vm_page structures? The vm_page structure is being built in this routine at the top of physical memory. The more RAM that is on the board the more vm_page entries are in this structure and the larger number of kernel page tables are needed to be defined. I don't understand that mapped == 0xbfecf000. KVA usually starts at 0xc000X000, though I remeber some Xscale use ARM_USE_SMALL_ALLOC and map some things just below the KVA. --Mark Tinguely
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804251650.m3PGotrp009557>