[Prev][Next][Index][Thread]

New OSKit snapshot oskit-19991124




This is an informal snapshot to make available the improvements we've made
to the OSKit lately, and give all you energetic OS hackers something to
chew on along with your leftover turkey this weekend.  An incomplete list
of changes appears below.

As before, go to http://www.cs.utah.edu/flux/oskit/
and everything hangs off there; currently mostly in ftp.

Enjoy, and Happy Thanksgiving from the Flux Group!


New versions of Linux device drivers.
	The entire suite of Linux device drivers has been updated to
	2.2.12, replacing the code from Linux 2.0.29 used in previous
	OSKit versions.  This adds a number of new devices as well as
	better versions of existing drivers, bringing the last 2.5 years
	of Linux device driver development into the OSKit.

Floppy support.
	The PC floppy disk driver (from Linux 2.2.12) is now available
	(on x86 only).  This driver has had only very minimal testing.

New versions of FreeBSD components.
	The FreeBSD C library, math library, and network stack components
	have been updated to release 3.2-STABLE of FreeBSD from the prior
	collection of code from various 2.x releases.  The ISA device
	drivers taken from FreeBSD have not been updated.

OSKit StrongARM support improved.
	The port of the OSKit to the StrongARM continues to progress
	quickly.  FreeBSD networking, NetBSD filesystem, and Linux
	device driver support have been added.  The builtin 10Mbit
	ethernet and IDE Zip drive have been modestly tested.  So far we
	still only support the DNARD ("Shark") platform.

Flask security components.
	Our colleagues at the NSA have integrated several more
	components of the Flask security architecture (see
	http://www.cs.utah.edu/flux/flask) into the OSKit, drawing upon
	the work done in the Fluke operating system and from their
	current work in Linux.	This snapshot includes COM interfaces
	and default implementations for the "access vector cache" and
	"security server" components, as well as updates to the file
	access control wrappers.  The Flask COM interfaces are
	documented in a new chapter of the OSKit documentation
	(doc/flask.tex).  A simple example program,
	examples/x86/netbsd_sfs_com.c, demonstrates the use of the
	security server and filesystem access check framework.

GCC 2.95 support for the x86.
	Previous versions of the OSKit would not work (or even build)
	with the EGCS line of GCC.  This snapshot supports building with
	GCC 2.95.2, which is now the recommended version to use.
	Note that the StrongARM port has always required GCC 2.95.
	(See the previous snapshot announcement in the ANNOUNCE file
	for full details about the tools needed for the StrongARM build.)

Dropped a.out build support.
	We no longer support an aout build of the OSKit.  You can still
	produce aout format kernels, but it is done by converting an ELF
	kernel with mkbsdimage and a special version of GNU ld.  Please
	contact us if you have concerns about object file formats for
	your uses of the OSKit.

Support for buffering/blocking console input instead of busy-wait.
	A new component layered on top of the minimal console support
	provides a console device with interrupt-driven, buffered input
	and proper blocking support with no busy-waiting (for both the
	serial-port console and the PC console).  (This is still not a
	production-quality device driver, and the default console
	support remains unchanged, using a simple busy-wait.)  The new
	function start_cq_console in -loskit_startup is the easy way to
	use the new console code.

"Enhanced" console support on X86.
	The minimal output support for the X86 PC console has been
	extended from emulating a teletype on steroids to emulating the
	venerable ADM3A terminal, including support for a ^G bell using
	the PC speaker.  The minimal keyboard input support for the X86
	console now recognizes the Control and Meta (Alt) modifier keys.
	(You can enjoy the world's only ADM3A with 25 lines and a Meta key!)

Prototype packet dispatcher.
	Framework for generic packet filtering support.  Currently uses DPF.

Numerous bug fixes.
	Fixed problem with interrupts being enabled too soon in the
	base_* code.  The most annoying manifestation of this was netboot
	hanging/crashing on some machines.

	Many bootp fixes from Michael Hohmuth <hohmuth@innocent.com>.
	Thanks Michael!

	Lots of fixes to the pthreads library.  Most notably, a memory
	leak when threads exited, indefinitely delayed thread cleanups,
	and a random memory trashing bug on context switching.

	Tweaks to X86 interrupt handling.  Mostly related to GPROF support.
	The interrupt flag should now consistantly be disabled in hardware
	interrupt handlers and enabled in software interrupt handlers.
	With GPROF, the profiling timer should almost always be enabled
	except for small sections of code on interrupt entry and exit.