From owner-freebsd-arm@FreeBSD.ORG Fri Sep 28 12:58:55 2007 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 435A716A468 for ; Fri, 28 Sep 2007 12:58:55 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (casselton.net [63.165.140.2]) by mx1.freebsd.org (Postfix) with ESMTP id 0268813C48A for ; Fri, 28 Sep 2007 12:58:54 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.13.8/8.13.8) with ESMTP id l8SCwpA4013427; Fri, 28 Sep 2007 07:58:51 -0500 (CDT) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1190984332; bh=2nc5z6geZ3H4bO1C3thxyt1ovbVqxVmyv/GwffA ZlQg=; h=Received:Date:From:Message-Id:To:Subject:Cc:In-Reply-To; b=Tr5nJCk/onzPBfy3UbphO2us7meBU78GkYErBJqRxhqe7ZgMXjN6qFSmRCMISdXDp 67ejgUHOggwZrweHcbjtWZM0qa89EcjXP/OBBe2bnedonjPecirfp6aMVOPhhv/kxJe z2TKCtzzN1Gw27cnxXdhILbggxeToDbjpi1NV8U= Received: (from tinguely@localhost) by casselton.net (8.13.8/8.13.8/Submit) id l8SCwpDA013426; Fri, 28 Sep 2007 07:58:51 -0500 (CDT) (envelope-from tinguely) Date: Fri, 28 Sep 2007 07:58:51 -0500 (CDT) From: Mark Tinguely Message-Id: <200709281258.l8SCwpDA013426@casselton.net> To: marius.nuennerich@gmx.de, mlfbsd@ci0.org In-Reply-To: <20070928102332.GA23400@ci0.org> Cc: freebsd-arm@freebsd.org Subject: Re: Comment bug in locore.S? 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, 28 Sep 2007 12:58:55 -0000 > > > How about saving the jump address in another register also before the jump: > > > > > > ldr r10, .Lvirt_done > > > ldr pc, .Lvirt_done > > > > I tried this but used r9, anyway the register isn't used otherwise and > > it's contents is R09=c00002a4 after qemu crashes. Is it possible that > > this would be the right address if the kernel would start at 0x30000000 > > and not on 0x30008000 physical address? > > Ah good point. KERNVIRTADDR should be 0xc0008000, not 0xc0000000. > As we're mapping it with sections, we don't have enough granularity to map it > to 0xc0000000. Wouldn't it be more appropriate to start the physical/virtual address on a L1 boundary (1 MB) rather than on a 32K boundary? I notice the style of the Xscale ports to put the physical address of of the startup L1 before the kernel, and the at91 ports to put this address after the kernel. --Mark Tinguely.