From owner-freebsd-arm@FreeBSD.ORG Fri Jun 1 19:56:06 2007 Return-Path: X-Original-To: freebsd-arm@freebsd.org Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 671A916A41F for ; Fri, 1 Jun 2007 19:56:06 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 1E41313C4C4 for ; Fri, 1 Jun 2007 19:56:06 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.8/8.13.4) with ESMTP id l51JtsQm086815; Fri, 1 Jun 2007 13:55:55 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 01 Jun 2007 13:56:10 -0600 (MDT) Message-Id: <20070601.135610.1723143578.imp@bsdimp.com> To: bkoenig@alpha-tierchen.de From: "M. Warner Losh" In-Reply-To: <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirrel@webmail.alpha-tierchen.de> References: <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirrel@webmail.alpha-tierchen.de> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Fri, 01 Jun 2007 13:55:55 -0600 (MDT) Cc: freebsd-arm@freebsd.org Subject: Re: Execution stops while enabling MMU X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2007 19:56:06 -0000 In message: <62776.2001:6f8:101e:0:20e:cff:fe6d:6adb.1180696310.squirre= l@webmail.alpha-tierchen.de> Bj=F6rn_K=F6nig writes: : Hello, : = : I try to use FreeBSD with an AT91RM9200-based board similar to KB920X= . I : use an existing boot loader (U-Boot running at 0x00000000) to copy th= e raw : binary kernel (not ELF) to the beginning of the SDRAM (0x20000000) an= d : execute it with the "go" command. But suddenly the execution stops wh= ile : enabling the MMU in src/sys/arm/arm/locore.S: : = : /* Enable MMU */ : mrc p15, 0, r0, c1, c0, 0 : orr r0, r0, #CPU_CONTROL_MMU_ENABLE : mcr p15, 0, r0, c1, c0, 0 : = : Code behind these lines won't be executed anymore. Here are some vari= ables : that I use: : = : KERNPHYSADDR=3D0x20000000 : KERNVIRTADDR=3D0xc0000000 : PHYSADDR=3D0x20000000 : STARTUP_PAGETABLE_ADDR=3D0x20800000 : = : Does anybody have a hint for me? My knowledge about ARM architecture = is : still superficially (literature already ordered ;-). Maybe you need to run the trampoline code rather than the normal code. I only use kernel.gz.tramp, and that works fine. Warner