[PATCH] Linux-0.96-pre (April 21, 1992)
More VFS layer work: remove more special cases, and take advantage of the virtual VFS functions (close and select). Add fchown/fchgrp and [f]truncate. Orest Zborowski shows up, and works on porting X11 to X. This needs a lot of infrastructure support: ioperm() for user-mode IO port access, and SVR style virtual terminal ioctl's to make porting easier. Perhaps more importantly, the mmap() system call shows up, even if it right now is limited only to a direct /dev/mem remapping. [Original changelog below] - truncate/ftruncate/fchmod/fchown system calls note that there aren't any library functions for these, so they aren't very useful yet... [f]truncate needed a change in the logic of the internal truncate VFS call - anybody that has any nonstandard filesystem probably needs to look it up. - io-bitmap syscalls giving root-processes access to selected io ports from user space. There is a "ioperm()" system call that lets the process select which ports it wants to enable/disable (all ports disabled as default) as well as a (standard sysv?) ioctl interface that X uses. again, no library stubs, but it allows things like reading and setting the cmos clock without using /dev/port, as well as control over the VGA registers... - mmap for /dev/mem more things needed for X... - the signal-handling fixes needed for gdb These aren't yet complete: serial lines still send signals under interrupts that can result in problems (ie ptrace doesn't correctly get them), but that's pretty unlikely (and will be fixed in the final 0.96). Breakpoints should work etc.. - multiple shared libraries Up to 6 simultaneous shared libraries/process: the patches were originally by pmacdona, but they were heavily changed by me, and I think they work in a more natural manner now. One user-level change is that the libraries are now checked for read and execute permissions for safety-reasons. - cleaned up special files. read/write/ioctl no longer has special-case code: it is all handled with tables to functions. This will mean that the SCSI patches won't patch in quite cleanly into 0.96: you'll need to add the code that sets up the functions. Again: device drivers and vfs-filesystem hackers need to look into the changes, although they are pretty logical (earlier versions just didn't implement all the vfs-routines) Note that the vfs-code for select is still not used: select is hardcoded for the devices it supports right now. - ptrace() has a new interface as gdb for versions < 0.95c don't work on the new version, and gdb won't work very well at all on 0.95c[+], there was no reason not to break ptrace. Thus 0.96 has a new calling convention for ptrace, and the old ptrace library function no longer works. I'm including the new ptrace library function at the end of this post. - mount() takes 4 arguments, and checks that only the super-user can mount/umount things. Happily this shouldn't break any old binaries. - some general cleanups
Showing
This diff is collapsed.
fs/ext/Makefile
deleted
100644 → 0
fs/ext/bitmap.c
deleted
100644 → 0
fs/ext/blkdev.c
deleted
100644 → 0
fs/ext/chrdev.c
deleted
100644 → 0
fs/ext/dir.c
deleted
100644 → 0
fs/ext/fifo.c
deleted
100644 → 0
fs/ext/file.c
deleted
100644 → 0
fs/ext/freelists.c
deleted
100644 → 0
fs/ext/inode.c
deleted
100644 → 0
fs/ext/namei.c
deleted
100644 → 0
This diff is collapsed.
fs/ext/symlink.c
deleted
100644 → 0
fs/ext/truncate.c
deleted
100644 → 0
fs/fifo.c
deleted
100644 → 0
This diff is collapsed.
fs/minix/blkdev.c
deleted
100644 → 0
fs/minix/chrdev.c
deleted
100644 → 0
fs/minix/dir.c
deleted
100644 → 0
fs/minix/fifo.c
deleted
100644 → 0
This diff is collapsed.
fs/minix/minix_op.c
0 → 100644
This diff is collapsed.
fs/minix/symlink.c
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
fs/msdos/Makefile
deleted
100644 → 0
This diff is collapsed.
fs/msdos/dir.c
deleted
100644 → 0
This diff is collapsed.
fs/msdos/fat.c
deleted
100644 → 0
This diff is collapsed.
fs/msdos/file.c
deleted
100644 → 0
This diff is collapsed.
fs/msdos/inode.c
deleted
100644 → 0
This diff is collapsed.
fs/msdos/misc.c
deleted
100644 → 0
This diff is collapsed.
fs/msdos/namei.c
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
include/asm/irq.h
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
include/linux/fd.h
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
include/linux/wait.h
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
include/sys/socket.h
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
include/sys/un.h
deleted
100644 → 0
This diff is collapsed.
include/sys/user.h
deleted
100644 → 0
This diff is collapsed.
include/sys/utsname.h
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
kernel/chr_drv/keyboard.S
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
kernel/chr_drv/rs_io.s
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
kernel/irq.c
deleted
100644 → 0
This diff is collapsed.
kernel/itimer.c
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
kernel/math/sqrt.c
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
lib/itimer.c
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
net/Makefile
deleted
100644 → 0
This diff is collapsed.
net/kern_sock.h
deleted
100644 → 0
This diff is collapsed.
net/socket.c
deleted
100644 → 0
This diff is collapsed.
net/socketcall.h
deleted
100644 → 0
This diff is collapsed.
net/unix.c
deleted
100644 → 0
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment