blob: 4e74e16e3bf98206d372c663e45d4049b22a73eb [file] [log] [blame]
CHANGES since 0.99 patchlevel 13:
- new kernel source layout: drivers separated
- lots of networking bugs fixed, and new network card drivers (Alan Cox,
Donald Becker &co)
- sound driver added to the default source distribution (Hannu
- updated SCSI driver code (Eric Youngdale, Drew Eckhardt &co)
- readonly OS/2 filesystem support (HPFS) added (Chris Smith)
- NTP support (Philip Gladstone, Torsten Duwe, ??)
- fixed 16MB swap-area limit
- lots of minor cleanups, buxfixes etc.
CHANGES since 0.99 patchlevel 12 and earlier:
- the bad memory management one-liner bug in pl12 is naturally fixed.
- compiled with plain C by default instead of C++
- ELF binary support (Eric Youngdale)
- Quickport mouse support (and some changes to the PS/2 mouse driver)
by Johan Myreen and co)
- core file name change ("core" -> "core.xxxx" where xxxx is the name
of the program that dumped code). Idea from ???. Also, core-files
now correctly truncate any existing core file before being written.
- some mmap() fixes: better error returns, and handling of non-fixed
maps for /dev/mem etc.
- one kludgy way to fix the wrong arp packets that have plagued net-2d
(resulting in arp packets that had the first four bytes of the
ethernet address as the IP address).
- I fixed the mount-point handling of 'rename()' and 'unlink()/rmdir()'
so that they should now work and/or give appropriate error messages.
An early version of this patch was already sent to the KERNEL
channel, which fixed the rename problem but not a similar bug with
- packet mode fixes by Charles Hedrick. Sadly, these are likely to
break old telnet/rlogin binaries, but it had to be done in order to
communicate correctly with the rest of the world.
- FPU emulator patches from Bill Metzenthen. The fprem1 insn should be
correct now (not that anybody seems to have seen the incorrect
- a few fixes for SCSI (Drew and Eric)
- signal.c changes to handle multiple segments (for Wine) correctly.
- updated drivers from Donald Becker: 3c509 and AT1500 drivers, but
also some other drivers have been edited, and some networking fixes.
CHANGES since 0.99 patchlevel 11 and earlier:
- The memory manager cleanup has continued, and seems to be mostly
ready, as proven by the ease of adding mmap() over NFS with the new
routines. So yes, the pl12 kernel will demand-load your binaries
over NFS, sharing code and clean data, as well as running shared
libraries over NFS. Memory management by Eric and me, while the NFS
mmap code was written by Jon Tombs,
- ** IMPORTANT **: The keyboard driver has been enhanced even further,
and almost everything is completely re-mappable. This means that
there is a new version of 'loadkeys' and 'dumpkeys' that you must use
with this kernel or you'll have problems. The default keyboard is
still the US mapping, but if you want to create your own mappings
you'll have to load them with the new binaries. Get the 'kbd.tar.gz'
archive from the same place you get the kernel.
The new keymappings allow things like function key string changes,
remapping of the control keys, and freedom to remap any of the normal
keyboard functions: including special features like rebooting,
console switching etc. The keyboard remapping code has been done
mostly by Risto Kankkunen (Risto.Kankkunen@Helsinki.FI).
- updated network drivers by Donald Becker
- updated serial drivers -
- updated 387 emulation (Bill Metzenthen). The updated emulator code
has more exact trigonometric functions and improved exception
handling. It now behaves very much like a real 486, with only small
changes (greater accuracy, slightly different denormal NaN handling
etc - hard to detect the differences even if you are looking for
- network timer fixes by Florian La Roche (much cleaned up net/inet/timer.c
and some bad race-conditions fixed).
- Scsi code updates by Eric Youngdale and others
- Sony CDU-31A CDROM driver by Corey Minyard added to the standard
kernel distribution.
- The Mitsumi CDROM driver is now part of the standard kernel. Driver
by Martin Harriss with patches by (yes, he
probably has a real name, but no, I haven't found it) and Jon Tombs.
- various other minor patches (preliminary ldt support etc)
NOTABLE changes since patchlevel 10 or earlier:
- The memory manager has been cleaned up substantially, and mmap()
works for MAP_PRIVATE. MAP_SHARED is still not supported for
anything else than /dev/mem, but even so it actually is usable for a
lot of applications. The shared library routines have been rewritten
to use mmap() instead of the old hardcoded behaviour.
- The kernel is now compiled with C++ instead of plain C. Very few
actual C++ features are used, but even so C++ allows for more
type-checking and type-safe linkage.
- The filesystem routines have been cleaned up for multiple block
sizes. None of the filesystems use it yet, but people are working on
- named pipes and normal pipes should hopefully have the right select()
semantics in the presense/absense of writers.
- QIC-02 tape driver by Hennus Bergman
- selection patches in the default kernel
- fixed a bug in the pty code which led to busy waiting in some
circumstances instead of sleeping.
- Compressed SLIP support (Charles Hedrick). See net/inet/CONFIG
- the 'clear_bit()' function was changed to return the previous setting
of the bit instead of the old "error-code". This makes use of the
bit operations more logical.
- udelay() function for short delays (busy-waiting) added. Used
currently only by the QIC driver.
- fork() and sheduler changes to make task switches happen only from
kernel mode to kernel mode. Cleaner and more portable than the old
code which counted on being able to task-switch directly into user
- debugging malloc code.