From owner-cvs-src@FreeBSD.ORG  Wed Jul 30 05:49:23 2003
Return-Path: <owner-cvs-src@FreeBSD.ORG>
Delivered-To: cvs-src@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP
	id 3E2B737B404; Wed, 30 Jul 2003 05:49:17 -0700 (PDT)
Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16])
	by mx1.FreeBSD.org (Postfix) with ESMTP
	id 4983F43FB1; Wed, 30 Jul 2003 05:49:15 -0700 (PDT)
	(envelope-from bde@zeta.org.au)
Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246])
	by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id WAA31314;
	Wed, 30 Jul 2003 22:49:10 +1000
Date: Wed, 30 Jul 2003 22:49:09 +1000 (EST)
From: Bruce Evans <bde@zeta.org.au>
X-X-Sender: bde@gamplex.bde.org
To: Ruslan Ermilov <ru@FreeBSD.org>
In-Reply-To: <20030730073231.GB37041@sunbay.com>
Message-ID: <20030730222110.S2810@gamplex.bde.org>
References: <200307292157.h6TLv1VE066076@repoman.freebsd.org>
 <20030730073231.GB37041@sunbay.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
cc: cvs-src@FreeBSD.org
cc: src-committers@FreeBSD.org
cc: Bruce Evans <bde@FreeBSD.org>
cc: cvs-all@FreeBSD.org
Subject: Re: cvs commit: src/sys/i386/i386 locore.s
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Jul 2003 12:49:23 -0000

On Wed, 30 Jul 2003, Ruslan Ermilov wrote:

> On Tue, Jul 29, 2003 at 02:57:01PM -0700, Bruce Evans wrote:
> > bde         2003/07/29 14:57:01 PDT
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/i386/i386        locore.s
> >   Log:
> >   Restored clearing of the bss, except for putting it in a correct place
> >   with up to date comments.  This fixes booting kernels with boot2
> >   (except for loss of the features provided by loader) and is suitable
> >   for MFC.  Contrary to the old comments, most loaders don't clear the bss.
> >   biosboot lost clearing of the bss in a code crunch in 1997, and boot2
> >   never did it.
> >
> To make it crystal clear, it does mean that we can (once again) boot
> kernels without loader(8) on i386, correct?

Almost.  There are still the following problems:

Symbols will be missing unless you use my hack for faking some module
data (I still haven't de-magiced it).  But symbols don't seem to be
needed as much as they used to.  I didn't notice them missing when I
tested this.

if you do use my hack, then you need to use an old version of boot2,
since boot2 in -current lost its RB_BOOTINFO flag so it doesn't actually
pass the historical bootinfo extensions that it spends a lot of space
to set up, and my hack and/or the preload_metadata handler is fragile
and causes panics if the symbol table is empty.  I think the problem
is that a real symbol table is never empty.  Other things in the extended
bootinfo are not needed, at least for me.

Statically configured hints and environment are needed of course.

Bruce