Skip site navigation (1)Skip section navigation (2)
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>