*BSD News Article 29027


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!pacbell.com!ihnp4.ucsd.edu!library.ucla.edu!csulb.edu!nic-nac.CSU.net!charnel.net.csuchico.edu!charnel!xmission!u.cc.utah.edu!cs.weber.edu!terry
From: terry@cs.weber.edu (Terry Lambert)
Newsgroups: comp.unix.bsd
Subject: Re: net / free bsd ?
Date: 30 Mar 1994 22:10:23 GMT
Organization: Weber State University, Ogden, UT
Lines: 49
Message-ID: <2nctcf$drs@u.cc.utah.edu>
References: <Cn791D.B84@frobozz.sccsi.com> <2n86gv$md6@u.cc.utah.edu> <CnFIDC.CyJ@atria.com>
NNTP-Posting-Host: cs.weber.edu

In article <CnFIDC.CyJ@atria.com> jtk@atria.com (John T. Kohl) writes:
]>>>>> "TL" == Terry Lambert <terry@cs.weber.edu> writes:
]>>>>> "KB" =  kevin@frobozz.sccsi.com (Kevin Brown) writes:
]KB> to load device drivers when running, i.e. in multiuser mode.  For doing the
]TL> BSD supports it.  I wrote the kernel stuff and released it at the end of
]TL> last May.  NetBSD has it integrated.
]
](a) How do you deal with symbol tables for kernel debugging (serial line
]debugging, or crash dump symbol tables)?

You don't.  The kernel symbols are loaded from the kernel image.  In reality,
the kernel ought to know the location of its boot image and only carry the
extension symbols around anyway.

The new code (not by me) handles this correctly.  By putting the link in
the kernel, the kernel symbol lists can be revised at will.

](b) Can you unload drivers too?  (I'd hope so!)

Yes, you can, although there is a symbol space problem in unloading
drivers in a dependent realtionship (ie: driver B uses symbols exported
by driver A), since an unload/reload is impossible.

Basically, the result of the driver link into the allocated kernel location
is a file with the kernel symbols plus the module symbols, and a dependent
driver must link against that instead of the kernel itself to get both
sets of symbols.

Independent drivers obviously would not have this problem.

The new code should fix this as well, as long as it keeps a module origin
for symbols and keeps a module reference count for depended upon modules.
This would allow the backing out of symbol space information.

The stuff I released that was adopted by NetBSD was really just prototype
work, but as always, better than nothing.  It's very similar to SunOS 4.1.2
kernel modules (I tried to keep that command line interface exactly).

The new stuff is closer to the Solaris/SVR4 method.  I've done similar
work, but can't release it for various reasons.  I'd say use the new
code when it becomes available, since it should allow things like mount
time demand loading of file systems, call time loading of system calls, etc.


					Terry Lambert
					terry@cs.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.