]> git.neil.brown.name Git - history.git/commit
[PATCH] Linux-0.97 (August 1, 1992) 0.97
authorLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:09:03 +0000 (15:09 -0500)
committerLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:09:03 +0000 (15:09 -0500)
commitddc733f452e0be7a8711d8640c5105f8a929ae15
tree53ac34c8c2c03c19caacc52ff5c8d2f9c2cd265c
parentd1e6fdb230ed063aad217775231eae225149a43a
[PATCH] Linux-0.97 (August 1, 1992)

Move <xxx.h> to <linux/xxxx.h>

Variable-sized buffer blocks and dynamic buffer cache allocation. The VM
knows how to shrink it automatically!

Add support for "fast" interrupt handlers for serial lines.

Update copyrights to say 1992 too.

Remove broken VESA video card handling.

Separate out partition handling code ("genhd").

Make init unkillable.

Norwegian keyboard map.

Future Domain SCSI controller driver by Rik Faith.

Changes in 0.97:

 - The VESA-support was removed.  I'd be happy to put it back once it
   works on all hardware.  Instead of the VESA-code, I finally put in
   the automatic SVGA setup patches.  See the top-level Makefile.

 - The IRQ code has solidified, and should work on all machines.  Not
   all of the SCSI drivers use it yet, so I expect patches for that..

 - Serial interrupts are handled slightly differently, and performance
   should be up.  I've sent out a few alpha-releases, and testing seems
   to indicate that's actually true this time.  Reactions have ranged
   from "nice" to "wonderful" :-)

 - The buffer-cache and memory management code has been edited quite a
   bit.  ps/free etc programs that reads kernel memory directly no
   longer work, and even a recompilation won't be enough.  They actually
   need editing before they work.

   The buffer-cache now grows and shrinks dynamically depending on how
   much free memory there is.  Shift+PrintScreen will give some memory
   statistics.  (Ctrl+PrSc gives task-info, ALT+PrSc gives current
   register values).

   The mm code changes removed some race-conditions in the VM code, and
   I also tried to make the Out-of-swapspace error less severe (better
   thrashing-detection etc).

 - The super-block code has been cleaned up.  Especially the extended fs
   needs to be edited a bit to take advantage of the new setup, and I
   expect Remy Card will have a patch out eventually.

 - include-files have been moved around some more: there are still some
   names that clash with the standard headers, but not many.

 - Unswappable processes implemented: by default only 'init' is
   unswappable.  This is a bit safer in low-memory conditions, as at
   least init won't die due to low memory.  I also made killing init
   impossible: if init doesn't recognize a signal, it simply won't get
   it.  Some other changes ("while (1) fork();" won't kill the machine
   for non-root users etc)

 - The new SCSI drivers are in.  These make the kernel noticeably
   bigger, but you can leave them out if you don't want them.

 - The floppy- and hd-drivers print out more debugging-info in case of
   errors: this might be irritating if you have hardware that works, but
   often gives soft-errors.  On the other hand, some old debugging-info
   was removed - notably for user-level protection errors etc.

 - Various minor fixes.  I haven't made cdiffs (and I haven't gotten any
   requests for them, so I probably never will), but they would be
   pretty big.

Things that I didn't have time for:

 - I wanted to rewrite the tty drivers to be more "streams-like" (ie not
   an actual streams-implementation, but some of the ideas from
   streams).  I never got around to it: there was simply too much else
   to do.

 - I got a lot of patches, and some went in, others didn't.  If you
   think your patch was important, please re-send it relative to the new
   version.

I'd like comments on the new system: performance / clarity of code etc.
0.97 should correct all known bugs (at least the ones I know about), but
I guess that's just wishful thinking.

Note that the dynamic buffer-code also handles differently-sized
buffers, but that the rest of the system (block device drivers,
filesystem code etc) cannot yet take advantage of this - there is still
some coding needed.

Linus
228 files changed:
.version
Makefile
boot/bootsect.S
boot/head.s
boot/setup.S
fs/Makefile
fs/block_dev.c
fs/buffer.c
fs/exec.c
fs/ext/Makefile [new file with mode: 0644]
fs/ext/bitmap.c [new file with mode: 0644]
fs/ext/blkdev.c [new file with mode: 0644]
fs/ext/chrdev.c [new file with mode: 0644]
fs/ext/dir.c [new file with mode: 0644]
fs/ext/fifo.c [new file with mode: 0644]
fs/ext/file.c [new file with mode: 0644]
fs/ext/freelists.c [new file with mode: 0644]
fs/ext/inode.c [new file with mode: 0644]
fs/ext/namei.c [new file with mode: 0644]
fs/ext/symlink.c [new file with mode: 0644]
fs/ext/truncate.c [new file with mode: 0644]
fs/fcntl.c
fs/fifo.c [new file with mode: 0644]
fs/file_table.c
fs/inode.c
fs/ioctl.c
fs/minix/Makefile
fs/minix/bitmap.c
fs/minix/blkdev.c [new file with mode: 0644]
fs/minix/chrdev.c [new file with mode: 0644]
fs/minix/dir.c [new file with mode: 0644]
fs/minix/fifo.c [new file with mode: 0644]
fs/minix/file.c [new file with mode: 0644]
fs/minix/file_dev.c [deleted file]
fs/minix/inode.c
fs/minix/minix_op.c [deleted file]
fs/minix/namei.c
fs/minix/symlink.c [new file with mode: 0644]
fs/minix/truncate.c
fs/msdos/Makefile [new file with mode: 0644]
fs/msdos/dir.c [new file with mode: 0644]
fs/msdos/fat.c [new file with mode: 0644]
fs/msdos/file.c [new file with mode: 0644]
fs/msdos/inode.c [new file with mode: 0644]
fs/msdos/misc.c [new file with mode: 0644]
fs/msdos/namei.c [new file with mode: 0644]
fs/namei.c
fs/open.c
fs/pipe.c
fs/read_write.c
fs/select.c
fs/stat.c
fs/super.c
include/a.out.h [deleted file]
include/asm/io.h
include/asm/irq.h [new file with mode: 0644]
include/asm/memory.h
include/asm/segment.h
include/asm/system.h
include/errno.h [deleted file]
include/fcntl.h [deleted file]
include/limits.h [deleted file]
include/linux/a.out.h [new file with mode: 0644]
include/linux/config.dist.h [new file with mode: 0644]
include/linux/config.h
include/linux/config.site.h [new file with mode: 0644]
include/linux/config_rel.h
include/linux/config_ver.h
include/linux/dirent.h [new file with mode: 0644]
include/linux/errno.h [new file with mode: 0644]
include/linux/ext_fs.h [new file with mode: 0644]
include/linux/ext_fs_sb.h [new file with mode: 0644]
include/linux/fcntl.h [new file with mode: 0644]
include/linux/fd.h [new file with mode: 0644]
include/linux/fdreg.h
include/linux/fs.h
include/linux/genhd.h [new file with mode: 0644]
include/linux/hdreg.h
include/linux/head.h
include/linux/kernel.h
include/linux/limits.h [new file with mode: 0644]
include/linux/lp.h
include/linux/math_emu.h
include/linux/minix_fs.h
include/linux/minix_fs_sb.h [new file with mode: 0644]
include/linux/mm.h
include/linux/mouse.h [new file with mode: 0644]
include/linux/msdos_fs.h [new file with mode: 0644]
include/linux/msdos_fs_sb.h [new file with mode: 0644]
include/linux/param.h [new file with mode: 0644]
include/linux/ptrace.h [new file with mode: 0644]
include/linux/resource.h [new file with mode: 0644]
include/linux/sched.h
include/linux/signal.h [new file with mode: 0644]
include/linux/socket.h [new file with mode: 0644]
include/linux/stat.h [new file with mode: 0644]
include/linux/stddef.h [new file with mode: 0644]
include/linux/string.h
include/linux/sys.h
include/linux/termios.h [new file with mode: 0644]
include/linux/time.h [new file with mode: 0644]
include/linux/timer.h
include/linux/times.h [new file with mode: 0644]
include/linux/tty.h
include/linux/types.h [new file with mode: 0644]
include/linux/un.h [new file with mode: 0644]
include/linux/unistd.h [new file with mode: 0644]
include/linux/user.h [new file with mode: 0644]
include/linux/utime.h [new file with mode: 0644]
include/linux/utsname.h [new file with mode: 0644]
include/linux/vfs.h [new file with mode: 0644]
include/linux/wait.h [new file with mode: 0644]
include/signal.h [deleted file]
include/stddef.h [deleted file]
include/sys/dirent.h [deleted file]
include/sys/param.h [deleted file]
include/sys/ptrace.h [deleted file]
include/sys/resource.h [deleted file]
include/sys/stat.h [deleted file]
include/sys/time.h [deleted file]
include/sys/times.h [deleted file]
include/sys/types.h [deleted file]
include/sys/utsname.h [deleted file]
include/sys/vfs.h [deleted file]
include/sys/wait.h [deleted file]
include/termios.h [deleted file]
include/time.h
include/unistd.h [deleted file]
include/utime.h [deleted file]
init/main.c
kernel/Makefile
kernel/asm.s [deleted file]
kernel/blk_drv/Makefile
kernel/blk_drv/blk.h
kernel/blk_drv/floppy.c
kernel/blk_drv/genhd.c [new file with mode: 0644]
kernel/blk_drv/hd.c
kernel/blk_drv/ll_rw_blk.c
kernel/blk_drv/ramdisk.c
kernel/blk_drv/scsi/7000fasst.c [new file with mode: 0644]
kernel/blk_drv/scsi/7000fasst.h [new file with mode: 0644]
kernel/blk_drv/scsi/Makefile [new file with mode: 0644]
kernel/blk_drv/scsi/aha1542.c [new file with mode: 0644]
kernel/blk_drv/scsi/aha1542.h [new file with mode: 0644]
kernel/blk_drv/scsi/config.in [new file with mode: 0644]
kernel/blk_drv/scsi/config.out [new file with mode: 0644]
kernel/blk_drv/scsi/fdomain.c [new file with mode: 0644]
kernel/blk_drv/scsi/fdomain.h [new file with mode: 0644]
kernel/blk_drv/scsi/hosts.c [new file with mode: 0644]
kernel/blk_drv/scsi/hosts.h [new file with mode: 0644]
kernel/blk_drv/scsi/scsi.c [new file with mode: 0644]
kernel/blk_drv/scsi/scsi.h [new file with mode: 0644]
kernel/blk_drv/scsi/scsi_ioctl.c [new file with mode: 0644]
kernel/blk_drv/scsi/scsi_ioctl.h [new file with mode: 0644]
kernel/blk_drv/scsi/sd.c [new file with mode: 0644]
kernel/blk_drv/scsi/sd.h [new file with mode: 0644]
kernel/blk_drv/scsi/sd_ioctl.c [new file with mode: 0644]
kernel/blk_drv/scsi/seagate.c [new file with mode: 0644]
kernel/blk_drv/scsi/seagate.h [new file with mode: 0644]
kernel/blk_drv/scsi/seagate2.s [new file with mode: 0644]
kernel/blk_drv/scsi/st.c [new file with mode: 0644]
kernel/blk_drv/scsi/st.h [new file with mode: 0644]
kernel/blk_drv/scsi/st_ioctl.c [new file with mode: 0644]
kernel/blk_drv/scsi/ultrastor.c [new file with mode: 0644]
kernel/blk_drv/scsi/ultrastor.h [new file with mode: 0644]
kernel/chr_drv/Makefile
kernel/chr_drv/console.c
kernel/chr_drv/keyboard.S [deleted file]
kernel/chr_drv/keyboard.c [new file with mode: 0644]
kernel/chr_drv/lp.c
kernel/chr_drv/mem.c
kernel/chr_drv/mouse.c [new file with mode: 0644]
kernel/chr_drv/pty.c
kernel/chr_drv/rs_io.s [deleted file]
kernel/chr_drv/serial.c
kernel/chr_drv/tty_io.c
kernel/chr_drv/tty_ioctl.c
kernel/chr_drv/vt.c
kernel/chr_drv/vt_kern.h
kernel/exit.c
kernel/fork.c
kernel/ioport.c
kernel/irq.c [new file with mode: 0644]
kernel/itimer.c [new file with mode: 0644]
kernel/math/Makefile
kernel/math/add.c
kernel/math/compare.c
kernel/math/convert.c
kernel/math/div.c
kernel/math/ea.c
kernel/math/emulate.c
kernel/math/error.c [deleted file]
kernel/math/get_put.c
kernel/math/mul.c
kernel/math/sqrt.c [new file with mode: 0644]
kernel/mktime.c
kernel/panic.c
kernel/printk.c
kernel/ptrace.c
kernel/sched.c
kernel/signal.c
kernel/sys.c
kernel/sys_call.S
kernel/traps.c
kernel/vsprintf.c
lib/Makefile
lib/_exit.c
lib/close.c
lib/ctype.c
lib/dup.c
lib/errno.c
lib/execve.c
lib/malloc.c
lib/open.c
lib/setsid.c
lib/string.c
lib/wait.c
lib/write.c
mm/Makefile
mm/memory.c
mm/mmap.c
mm/swap.c
net/Makefile [new file with mode: 0644]
net/kern_sock.h [new file with mode: 0644]
net/socket.c [new file with mode: 0644]
net/socketcall.h [new file with mode: 0644]
net/unix.c [new file with mode: 0644]
tools/build.c