From owner-freebsd-arm@FreeBSD.ORG Tue May 26 15:52:01 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 8D4BE106566C for ; Tue, 26 May 2009 15:52:01 +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 406DB8FC24 for ; Tue, 26 May 2009 15:51:58 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.14.3/8.14.3) with ESMTP id n4QFptHF084811; Tue, 26 May 2009 10:51:56 -0500 (CDT) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1243353116; bh=J3OPOY84dLSBySVfpAFFRz+w5tDKp9MIdMpJklY3804=; h=Date:From:Message-Id:To:Subject:Cc:In-Reply-To; b=G1AIvITMm9jX/ZH7xtPHu+Dj1p7nK2LiJw5n5rRRzjj756DQx5mLCM9MZEL+ow85c 2PqE2ZMZrVa6nrITZU1w7KRfxcbCHSjrOSg0zkGBLqnX/H+cu8mQ8oBrYQr8OV0ueD 6KN137rVfWUDwAHzcjFVcNY0f0ujFss3aMC8pyo4= Received: (from tinguely@localhost) by casselton.net (8.14.3/8.14.2/Submit) id n4QFpt1w084810; Tue, 26 May 2009 10:51:55 -0500 (CDT) (envelope-from tinguely) Date: Tue, 26 May 2009 10:51:55 -0500 (CDT) From: Mark Tinguely Message-Id: <200905261551.n4QFpt1w084810@casselton.net> To: ccna.syl@gmail.com, imp@bsdimp.com In-Reply-To: <20090524.163838.113805925.imp@bsdimp.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.3.2 (casselton.net [127.0.0.1]); Tue, 26 May 2009 10:51:56 -0500 (CDT) Cc: freebsd-arm@freebsd.org Subject: Re: at91 SoC separation 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: Tue, 26 May 2009 15:52:01 -0000 As a side, slightly off-topic note, I have been thinking of the whole boot process. The different ARM architecture/board boot sequences are basically the same. I agree that the main difference between the different ARM boards are the difference in the locations of devices map. Right now, the init_arm() manually allocates the "level one" page tables so they are available for the pmap_devmap_bootstrap() call. The devmap bootstrap can be modified to automatically allocate any missing "level one" page tables from the end of the free memory pointer. The updated end of free memory is sent back to the initialation routine. Add a few calls for architecture initialization and ever board can use the same boot routine. I agree this is not a SoC scoped add-on project. --Mark Tinguely