Date: Tue, 21 May 2013 16:59:36 +0200 From: Daan Vreeken <Daan@vitsch.nl> To: Zbyszek Bodek <zbb@semihalf.com> Cc: freebsd-arm@freebsd.org, Alan Cox <alc@cs.rice.edu>, ray@freebsd.org Subject: Re: New pmap-v6.c features and improvements Message-ID: <201305211659.36599.Daan@vitsch.nl> In-Reply-To: <519B784B.309@semihalf.com> References: <519b6b1c.9060008@semihalf.com> <1369143378-3800692384.5b4e94954b@bliksem.vehosting.nl> <519B784B.309@semihalf.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Zbyszek, On Tuesday 21 May 2013 15:36:11 Zbyszek Bodek wrote: > On 21.05.2013 15:15, Daan Vreeken wrote: > > Hi Zbyszek, > > > > On Tuesday 21 May 2013 14:39:56 Zbyszek Bodek wrote: > >> Hello Everyone, > >> > >> I would like to introduce another pack of patches for pmap-v6.c and > >> related, that we created as a part of Semihalf work on Superpages > >> support. > >> > >> The patches include some major changes like: > > .. > >> And some minor clean-ups: > >> - Get rid of the VERBOSE_INIT_ARM option > > .. > > Just a small request: Could you leave the VERBOSE_INIT_ARM printf()'s > > intact? VERBOSE_INIT_ARM is typically one of the first things I enable > > when I'm hunting down problems during board bring-up. > > To which files are you referring? > > VERBOSE_INIT_ARM is useless in pmap as pmap functions that are using > VERBOSE_INIT_ARM are called before the console is initialized so no > benefit from printfs... > > What is your opinion. This is the console output of a test kernel that I've created a while back for an Atmel at91sam9261 processor board (with VERBOSE_INIT_ARM enabled) : ## Starting application at 0x200000E0 ... DAAN: soc: at91sam9261 DAAN: pre devmap bootstrap devmap: fff00000 -> ffffffff @ dff00000 pmap_map_chunk: pa=0xfff00000 va=0xdff00000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: 00500000 -> 005fffff @ dfc00000 pmap_map_chunk: pa=0x500000 va=0xdfc00000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: 10000000 -> 1fffffff @ e0000000 pmap_map_chunk: pa=0x10000000 va=0xe0000000 size=0x10000000 resid=0x10000000 prot=0x3 cache=0 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS devmap: 30000000 -> 300fffff @ dfb00000 pmap_map_chunk: pa=0x30000000 va=0xdfb00000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: 00600000 -> 006fffff @ dfa00000 pmap_map_chunk: pa=0x600000 va=0xdfa00000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S DAAN: post devmap bootstrap DAAN: memsize=67108864 GDB: debug ports: uart GDB: current port: uart KDB: debugger backends: ddb gdb KDB: current backend: ddb Copyright (c) 1992-2012 The FreeBSD Project. ... To be able to create one kernel for multiple boards, we've changed at91_machdep.c to enable a minimalistic pagetable early on in initarm() so the SoC type can be identified. (As a side effect of this, the console works a bit earlier than normal..) Depending on the type of SoC detected, a different pagetable will be passed to pmap_devmap_bootstrap(). At this time, we have a working console. While working on this code I've made good use of the VERBOSE_INIT_ARM option. Regards, -- Ing. Daan Vreeken Vitsch Electronics http://Vitsch.nl/ http://VitschVPN.nl/ tel: +31-(0)40-7113051 KvK nr: 17174380 -- Machines en netwerken op afstand beheren? Vitsch VPN oplossing! Kijk voor meer informatie op: http://www.VitschVPN.nl/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305211659.36599.Daan>