Second 0.95a alpha-patch

This is the promised patch to 0.95a, which hopefully corrects some of
the problems encountered. This is /not/ an offical new release: it's
just a set of patches to get the same kernel I am currently running.

Bugfixes:

- extended partitions should finally work correctly (this release also
  contains code for the hd-ioctl call, needed for fdisk). Code mostly
  by hedrick.

- I corrected my original ptrace-fix (writing a long word to another
  process' data space could fail with my original patches)

- 387-emulation bug with the instructions "fcom[p] %st(x)" which
  resulted in bad results on non-387 machines with newer versions of
  gcc. The emulation is still ugly, but it seems to work.

- the cooked mode deletion/linekill bugs should be fixed.

- various error-returns were wrong: I correted some of them (thanks to
  bruce evans who pointed them out). The bad error-values resulted in
  incorrect or spurious error-messages from 'rm' etc.

- various minor fixes (including some in the hd-driver: this might help
  persons with unexpected-interrupt and/or timeout errors)

Additionally this version contains VFS-code from entropy, and a
readdir() system call needed for the VFS. The latter was inspired by
patches sent by Remy Card, who did it with a getdirents sys-call. My
version is slightly simpler, but is probably slower. Things might yet
change.

The installation has also changed slightly: the keyboard type and
math-emulation are specified in the main Makefile. That one also
contains the -fcombine-regs flag needed for 1.40. The other makefiles
should no longer need editing.

I've also incorporated the ps095 kernel patches: to get the actual
user-level stuff you still have to get the ps-distribution. Printer
ports /still/ aren't in there, but this time I positively /promise/ to
put it in next week. Really.

People who have been patching their kernel might have problems getting
this patch to work: it was made against a clean 0.95a kernel. I'll
consider a patched-up kernel version 0.95c - and I'd appreciate if
future patches to me would be sent against this version. I'll still
accept older patches, or course.

		Linus
52 files changed
tree: 87ac70daf7404f03dcd0957ce9e255f232feb82c
  1. boot/
  2. fs/
  3. include/
  4. init/
  5. kernel/
  6. lib/
  7. mm/
  8. tools/
  9. Makefile