From owner-freebsd-embedded@FreeBSD.ORG Sat Dec 13 17:11:04 2008 Return-Path: Delivered-To: freebsd-embedded@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA7F81065673 for ; Sat, 13 Dec 2008 17:11:04 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.freebsd.org (Postfix) with ESMTP id C009B8FC08 for ; Sat, 13 Dec 2008 17:11:04 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 7C9981E51A2 for ; Sat, 13 Dec 2008 12:11:04 -0500 (EST) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Sat, 13 Dec 2008 12:11:04 -0500 X-Sasl-enc: oh/wPqJ/5+Ksp3wc8/mabNUV7V8IAYV4fg0AXwLEqpdA 1229188264 Received: from anglepoise.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 0E3DF3A23F for ; Sat, 13 Dec 2008 12:11:03 -0500 (EST) Message-ID: <4943ECA5.6030203@incunabulum.net> Date: Sat, 13 Dec 2008 17:11:01 +0000 From: Bruce Simpson User-Agent: Thunderbird 2.0.0.18 (X11/20081204) MIME-Version: 1.0 To: freebsd-embedded@FreeBSD.org Content-Type: multipart/mixed; boundary="------------070206030508060602000706" Cc: Subject: ARM closet cleaning: static kenv X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Dec 2008 17:11:05 -0000 This is a multi-part message in MIME format. --------------070206030508060602000706 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit This is a patch for avila_machdep to tell it to use a statically compiled kenv vector. I found I needed it when hacking on the NSLU2. cheers BMS --------------070206030508060602000706 Content-Type: text/plain; name="arm-use-env.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="arm-use-env.diff" Index: sys/arm/xscale/ixp425/avila_machdep.c =================================================================== --- sys/arm/xscale/ixp425/avila_machdep.c (revision 186036) +++ sys/arm/xscale/ixp425/avila_machdep.c (working copy) @@ -259,6 +259,7 @@ vm_offset_t freemem_after; vm_offset_t lastaddr; uint32_t memsize; + char *p; set_cpufuncs(); lastaddr = fake_preload_metadata(); @@ -475,16 +476,29 @@ phys_avail[i++] = trunc_page(0x10000000 + memsize - 1); phys_avail[i++] = 0; phys_avail[i] = 0; - + + /* use static kernel environment if so configured */ + if (envmode == 1) + kern_envp = static_env; + + /* + * Catch case of boot_verbose set in environment. + */ + if ((p = getenv("boot_verbose")) != NULL) { + if (strcmp(p, "yes") == 0 || strcmp(p, "YES") == 0) { + boothowto |= RB_VERBOSE; + } + freeenv(p); + } + + if (boothowto & RB_VERBOSE) + bootverbose = 1; + /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); kdb_init(); - /* use static kernel environment if so configured */ - if (envmode == 1) - kern_envp = static_env; - return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); } --------------070206030508060602000706--