From owner-freebsd-mips@FreeBSD.ORG Sun Apr 3 22:13:26 2011 Return-Path: Delivered-To: mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 254581065673 for ; Sun, 3 Apr 2011 22:13:26 +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 D9BA68FC0C for ; Sun, 3 Apr 2011 22:13:25 +0000 (UTC) Received: from [10.0.0.63] (63.imp.bsdimp.com [10.0.0.63]) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id p33M7cMU066482 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sun, 3 Apr 2011 16:07:43 -0600 (MDT) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: Date: Sun, 3 Apr 2011 16:07:37 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: <153BB57A-6F99-4E5C-9F39-55D6C3B210FC@bsdimp.com> References: To: Andrew Duane X-Mailer: Apple Mail (2.1082) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Sun, 03 Apr 2011 16:07:43 -0600 (MDT) Cc: "mips@freebsd.org" Subject: Re: Toiling away on booting the new blades X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Apr 2011 22:13:26 -0000 On Apr 3, 2011, at 3:29 PM, Andrew Duane wrote: > I've made real progress on getting our Octeon blades to boot with the = other bootstraps. After learning all about the app_descriptors and the = octeon_bootinfo structures, I've decided on a slightly more modular = approach. Rather than faking out the code by hand-crafting these = structures, I've decided to teach the Octeon startup code how decode a = standard MIPS bootinfo structure. FreeBSD already has this defined, and = I can make it do pretty much everything I want. It's also completely = deterministic as to which structure you have in "a3" based on the other = registers. >=20 > It turns out this is pretty simple. I added a parallel routine to = octeon_process_app_desc_ver_6 to parse a bootinfo and call = cvmx_sysinfo_minimal_initialize with the info I get from it. Very clean = and tidy, and minimal disruption. After that, everything else "just = works". I even found a routine to craft a phy_mem_desc structure, but it = doesn't look like I need it. >=20 > Since the MIPS bootinfo structure is already part of FreeBSD, is this = code in the startup path something you'd be interested in taking in? I think I'd be interested. I think this is a decent path to explore, = but would need to see code before committing :) Warner