1. 23 Nov, 2007 12 commits
    • Linus Torvalds's avatar
      Import 0.99.15g · 2fbc2376
      Linus Torvalds authored
      2fbc2376
    • Linus Torvalds's avatar
      Import 0.99.15f · 9e11983a
      Linus Torvalds authored
      9e11983a
    • Linus Torvalds's avatar
      pl15a fixes the buffer cache growing problem, adds emulation for a · 17d2d71c
      Linus Torvalds authored
      few unimportant floating point instructions (i287 instructions that
      are No-Ops on the i387, so "emulating" them is easy :^) and fixes a
      silly bug when mmap'ing stuff write-only.  It also fixes a buggy lock
      in the networking.
      17d2d71c
    • Linus Torvalds's avatar
      Import 0.99.14z · 0d202675
      Linus Torvalds authored
      0d202675
    • Linus Torvalds's avatar
      Import 0.99.14y · f614125e
      Linus Torvalds authored
      f614125e
    • Linus Torvalds's avatar
      Import 0.99.14u · bfeedc98
      Linus Torvalds authored
      bfeedc98
    • Linus Torvalds's avatar
      Import 0.99.14t · 50a32c2c
      Linus Torvalds authored
      50a32c2c
    • Linus Torvalds's avatar
      Import 0.99.14o · ddd9ed00
      Linus Torvalds authored
      ddd9ed00
    • Linus Torvalds's avatar
      Import 0.99.14n · 28067f4d
      Linus Torvalds authored
      28067f4d
    • Linus Torvalds's avatar
      Import 0.99.13k · 537b6ff0
      Linus Torvalds authored
      537b6ff0
    • Linus Torvalds's avatar
      [PATCH] Linux-0.99.11 (July 17, 1993) · d9f8e0ec
      Linus Torvalds authored
      Real file mmap with page sharing in the VM code.  We don't do writable
      shared mappings (and we won't do them for a _long_ time yet), but this
      is a big step forward!
      
      Note in the COPYING file that the GPL only covers the kernel, not user
      programs. People were starting to find Linux more and more interesting..
      
      Improved configure script.
      
      Use nicer "save_flags()/cli()/restore_flags()" macros instead of
      hardcoding the inline assembly.  Clean up other inline assembly usage
      too.
      
      Trying to compile the kernel with C++ compiler.  It will be a failed
      experiment.
      
      Original ChangeLog:
      
       - The keyboard is dynamically changeable (this is true of pl10 as
         well), and you need to get the "keytables.tar.z" archive to set the
         keyboard to suit your taske unless you want to live with the default
         US keymaps.
      
         Use the "loadkeys map/xxx.map" command to load the keyboard map: you
         can edit the maps to suit yourself if you can't find a suitable one.
         The syntax of the keyboard maps should be obvious after looking at
         the examples.
      
       - 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
         it.
      
       - 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
         mode.
      
       - debugging malloc code.
      d9f8e0ec
    • Linus Torvalds's avatar
      [PATCH] Linux-0.99.10 (June 7, 1993) · 9cb9f18b
      Linus Torvalds authored
      People finally gave up on net-1, Ross Biro grew tired of the flames, and
      net-2 appears with Fred van Kempen as maintainer.  This is the big
      switch-over version.
      
      fsync() isn't just a stub any more, and System V IPC is also showing up.
      
      The "struct file" filetable is made dynamic, instaed of a static
      allocation.  For the first time you can have _lots_ of files open.
      
      Stub for iBCS2 emulation code.
      
      [original announcement below]
      
      I've finally released an official version of linux-0.99 patchlevel 10:
      there have been various alpha versions floating around which differ in
      details (notably networking code), which shouldn't be used any more.
      The new linux version is available only as full source code: the diffs
      would have been too big to be useful.  You can find linux-0.99.10.tar.z
      (along with keytables.tar.z) on nic.funet.fi: pub/OS/Linux/PEOPLE/Linus
      and probably on tsx-11 and other linux archives within a day or two (so
      check there first if you are in the states).
      
      Linux-0.99 pl10 has a number of new features and changes in interface.
      The most notable of these are:
      
       - the networking code is reorganized (generally called "net-2",
         although unrelated to the BSD release).  The new code implements a
         lot of standard features lacking in net-1, and also changes the user
         interface to be closer to the BSD standards.  Notably, the old
         configuration binaries won't work, so to get the new networking to
         work you'll have to get the net-2 binaries as well.  The networking
         binaries are available on tsx-11.mit.edu (and mirrors) under the
         directory pub/linux/packages/net/net-2 (and the setup syntax has
         changed somewhat..)
      
         The networking code has been mainly organized and rewritten by Fred
         van Kempen, with drivers by Donald Becker.
      
       - serial line setup has been changed: linux 0.99 pl10 does *not* try to
         autodetect serial ports very agressively.  If you have other serial
         ports than the standard com1/com2, or nonstandard IRQ etc values,
         this means that it's less likely to work without any help.  The
         solution is not to recompile the kernel - you should get the
         "setserial" program available from tsx-11.mit.edu in the directory
         pub/linux/sources/sbin/setserial-2.01.tar.z that allows you to
         dynamically configure your serial ports to suit your setup.
      
         The main organizer behind the serial line changes is tytso (Theodore
         Ts'o).
      
       - Keyboard setup has changed: it is no longer hardcoded at compile
         time, but instead you can use the new "loadkeys" program to load in a
         new keyboard map on the fly.  The default keyboard map is the normal
         US keyboard (yes, I should have used the Finnish one by default, but
         after thinking of all the problems that would have resulted in I
         forgot about that idea).  The loadkeys code can be found in the
         "keytables.tar.z" archive, which also contains keymaps for most
         normal keyboard types.  To create a custom keyboard table is very
         easy - just take a 5 minute look at the existing map files (they
         resemble the ones used by xmodmap, so if you are familiar with
         those..)
      
         The loadable keymaps were mostly implemented by Risto Kankkunen.
      
      There are a lot of other internal kernel changes, but they should be
      mostly transparent, and noticeable only indirectly due to new features
      or (hopefully) better/faster/whatever operation.  These include:
      
       - the SysV IPC patches are in by default: Krishna Balasubramanian.
         If you need these, you know what it's about (notably, dosemu 0.49
         wants them).
       - inode handling is updated: inodes and files are now dynamically
         allocated within the kernel, and use a hash table for faster lookup
         (along with a NFU algorithm for the inode cache).  Steven Tweedie.
       - Updated FPU emulation: mostly exception handling changes, making the
         emulator handle most exceptions the same way a 486 does.  The
         emulator is written by Bill Metzenthen.
       - a few ext2-fs updates by Remy Card and Steven Tweedie.
       - support for the 'fsync()' function (Steven Tweedie)
       - various (minor) SCSI patches to catch some error conditions, add
         support for VLB adaptec controllers without DMA and so on (different
         people).
       - other changes - I forget.
      
      In addition to patches sent in by others, I've naturally made my own
      changes (often *to* the patches sent in by others :-).  Among other
      things, the pl10 buffer cache code now also tries to share pages with
      executables, resulting in better cacheing especially of binaries (giving
      noticeable improvements in kernel recompilation speed on some machines).
      Also, I've changed a lot of low-level things around to help the iBCS2
      project: this includes things like internal segment handling and the
      signal stack (which now looks the same as on SysV i386 unixes).  All in
      all, pl10 has a disturbing amount of new code, but will hopefully work
      well despite (due to?) the number of changes.
      
      The new networking code in particular will change the network setup a
      lot - it now looks more standard, but if you were used to the old way of
      doing things..  On the other hand, most people actively using the
      networking features have hopefully gotten warnings about this on the NET
      channel for the last few weeks.  Also, the networking code still isn't
      perfect: Fred is still working on it, but it seems to have reached a
      reasonably stable platform on which it will be easier to build.  Look
      out for the new-and-improved networking manual, hopefully out soon(?).
      
      Standard request: please try it all out, give it a real shakedown, and
      send comments/bug-reports to the appropriate place (I'm always
      appropriate, but you may want to send the report to the mailing lists
      and/or the newsgroup as well).  I apologize for the lateness of the
      release (forcing hlu to make interim gcc releases that relied on
      nonstandard kernels etc), and the changes are somewhat bigger than I'd
      prefer, so the more testerts that try it out, the faster we can try to
      fix any possible problems.  The new kernel has gone through various
      stages of ALPHA-diffs and some late ALPHA-pl10's, so there shouldn't be
      any major surprises, but alpha releases tend not to get even close to
      the coverage a real release gets...
      
                          Linus
      9cb9f18b