From owner-freebsd-arm@FreeBSD.ORG Wed Mar 25 14:34:02 2009 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5F54106564A for ; Wed, 25 Mar 2009 14:34:02 +0000 (UTC) (envelope-from gballet@gmail.com) Received: from mail-ew0-f171.google.com (mail-ew0-f171.google.com [209.85.219.171]) by mx1.freebsd.org (Postfix) with ESMTP id 3E2898FC14 for ; Wed, 25 Mar 2009 14:34:01 +0000 (UTC) (envelope-from gballet@gmail.com) Received: by ewy19 with SMTP id 19so60490ewy.43 for ; Wed, 25 Mar 2009 07:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=v+g+l64BhVvz3CMqOQDK318Z9plFgdENPhvQLi0j4QQ=; b=DhpHItPLUHO25OmvoutT0ivt9JdbadrPpJEvlMdtFgONfZ/U/4S1A6YJzOqgBAB6qs mCFK0dQkiVPbK64A3laWEpNAz2WuLNvPkzb9tEpr1U94LXW99g/MGWyA95Xu49IXTVba qImNsWTBJ2EwtaAujjd0Wo5A//wcyOW5QFKEA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=U09r4yhKOWQ1v3Fcb3mZguer4gqHeXMSrUGy9BXodDQYhmqoGFwMVaz7QCrmYpJFuz br/fZZPnnp33W2vc9GYBI+f5qAAFhm8wmM7cFZ7UPD19P6ikdrDOmYLKp87W4v9TZTlT MQEVd4CqEJjwkWk44o4JXYs6y5ATi6jXFEnkY= MIME-Version: 1.0 Received: by 10.216.73.79 with SMTP id u57mr3300269wed.40.1237990009077; Wed, 25 Mar 2009 07:06:49 -0700 (PDT) Date: Wed, 25 Mar 2009 15:06:49 +0100 Message-ID: From: Guillaume Ballet To: freebsd-arm@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: locore.S question 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: Wed, 25 Mar 2009 14:34:02 -0000 Hello list, I'm working on a FreeBSD port for the BeagleBoard. I'm starting the kernel with u-boot and wrote my own small loader for this purpose. That loader puts the kernel at 0x81000000 (physical address, since the MMU is disabled at this stage). In locore.S, however, there is the following piece of code that is executed before the MMU is disabled: 112 adr r7, Lunmapped 113 bic r7, r7, #0xff000000 114 orr r7, r7, #PHYSADDR (snip, disabling MMU) 129 mov pc, r7 Since PHYSADDR is set to 0x80000000 (physical start of RAM), then r7 is set to 0x80000000 + offset(Lunmapped) instead of 0x81000000 + offset(Lunmapped). Of course it crashes. Now, bypassing the problem is relatively easy, but still I was wondering why it is 0xff000000 instead of 0xf0000000 on line 113? Thanks, Guillaume