From owner-freebsd-alpha Fri May 12 16: 4:29 2000 Delivered-To: freebsd-alpha@freebsd.org Received: from overcee.netplex.com.au (peter1.yahoo.com [208.48.107.4]) by hub.freebsd.org (Postfix) with ESMTP id 8E0AA37B5B3; Fri, 12 May 2000 16:04:26 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 89F491CE1; Fri, 12 May 2000 16:04:26 -0700 (PDT) (envelope-from peter@netplex.com.au) X-Mailer: exmh version 2.1.1 10/15/1999 To: Boris Popov Cc: John Baldwin , "Daniel C. Sobral" , freebsd-alpha@FreeBSD.org Subject: Re: Loader fixed In-Reply-To: Message from Boris Popov of "Fri, 12 May 2000 22:49:20 +0700." Date: Fri, 12 May 2000 16:04:26 -0700 From: Peter Wemm Message-Id: <20000512230426.89F491CE1@overcee.netplex.com.au> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Boris Popov wrote: > On Fri, 12 May 2000, John Baldwin wrote: > > > Here's a broken one: > > > > -r-xr-xr-x 1 root wheel 186648 May 11 11:48 /boot/loader.old > > > > If we do a little hex work: > > > > > printf "%x %x" 182680 186648 > > 2c998 2d918 > > I have zero knowledge about Alpha architecture and may be > completely wrong, but: > > Loader load address defined as: > > SECONDARY_LOAD_ADDRESS= 0x2000c000 # "Region 1 start" + 48k > > As I can see from sources, at the boot moment here is only one > page of 256K dedicated to loader, so: > > 256*1024 - 0xc000 - 0x2d918 = 26344 > > A loader binary doesn't contain BSS segment which consists of > stack (8KB) and uninitialized data. > > It is quite possible, that together with BSS data, total loader size > exceeds 256k limit (and/or overlaps with heap which may explain > mysterious zfree() error). For what it's worth, we have to load /boot/loader into a 256k-48k (208k) space. We have presently got 13.5K of free space for loader to squeeze into. We have ~8.5K of free space for boot1. We might have to move the expand_heap() code from loader into boot1 to get more breathing room for when loader gets longer next time. expand_heap() might fit into the 8.5k, *but* it would require everybody to reinstall their bootblocks or loader will no longer work if it's expecting the bootblocks to do the dirty work for it. Cheers, -Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message