Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 May 1998 12:32:42 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        current@FreeBSD.ORG
Subject:   Re: FreeBSD/alpha kernel status report
Message-ID:  <Pine.BSF.3.95q.980523121937.15699E-100000@herring.nlsystems.com>
In-Reply-To: <19980523033210.46742@hydrogen.nike.efn.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 23 May 1998, John-Mark Gurney wrote:

> Doug Rabson scribbled this message on May 23:
> > The next step is to add device support for the various devices in the
> > simulator with the aim of getting the system to single user mode.  Since
> > the alpha platform has a significantly more complex bus structure than the
> > PC, I have decided to use the bus/device framework which I prototyped last
> > year.  Hopefully, this can form the base of a wider driver renovation
> > project for the PC platform which badly needs it.
> 
> could you send me a copy of what you prototyped out?  I'm interested
> as I was working on this project... but I haven't had much time to work
> on getting a 3 stage boot loader up and running for FreeBSD...

I haven't got the latest version (its on my machine at work) but most of
the code is in freefall:~dfr/bus.diffs.gz.  Most of the diff won't apply
on a current kernel but the important files (bus.h, bus_private.h and
subr_bus.c) are in there.

The stage I have it at is that it works nicely for both statically
declared devices and statically linked drivers.  It can add new drivers
and devices to the system at any time and (given driver support) can
remove drivers and devices dynamically.  Everything is driven by the
module system so all drivers are demand loadable trivially.

Resource support is extremely shaky (i.e. non-existent) and will need some
attention.  I was hoping to work with you on getting a system which
conforms to at least the philosophy of your design in that area.

I recently hacked on NetBSD's 3 stage boot loader until it built in our
tree and at least appeared to work. I tested it under bochs (I just love
simulators for doing kernel work - its so much more civilised...)

Mike Smith took on my hack and was intending to spruce it up a bit to make
a more generally useful standalone library and probably add ELF kernel
loading.

> 
> for what I would like to do with FreeBSD for bus/device support will
> require the ability to have the boot loader support loading multiple
> modules before the kernel starts running...  and once this happens, we
> can essecially eliminate main from the kernel, and simply have it use
> the module loading code to initalize the kernel...

Now I never thought of loading more than just the kernel from the
bootloader.  Its a very good idea given that we (nearly) have a flexible
three stage loader.  My original intention was to link the modules
critical devices (console, system bus, root disk) statically with the
kernel and load all the others during autoconfig as the system probes for
devices.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891
					Fax:   +44 181 381 1039



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.980523121937.15699E-100000>