Files
oldlinux-files/Minix/1.7.1/changes-1.7.0-1.7.1
2024-02-19 00:21:39 -05:00

422 lines
13 KiB
Groff

Short list of differences between 1.7.0 and 1.7.1:
- The BIOS driver can now operate in 286 or 386 protected mode.
- Higher RS232 baud rates
- More robust ethernet driver that supports the WD8003, WD8013, NE1000,
NE2000, and SMC Elite Ultra.
- Interface to the Boot Monitor changed so that Minix can return to
it. Also support for a BIOS disk I/O call added. Minix 1.7.1 must
be booted by the new Monitor.
- New are the Mitsumi & Soundblaster drivers. Neither of these have been
tested very well after integration in 1.7.1.
Long list of differences between 1.7.0 and 1.7.1:
include/errno.h
ERROR changed into EGENERIC (symbol ERROR often used in user code,
although all E* symbols are reserved if <errno.h> is included.)
include/unistd.h
Rebooting codes for various ways of rebooting added.
include/minix/cdrom.h
For the Mitsumi CD-ROM driver.
include/minix/com.h
Changed task number definitions of optional tasks to
#define TASK (PREVIOUS_TASK - ENABLE_TASK)
This replaces the former #ifdef spaghetti. The ENABLE_XXX defines
must be exactly 0 or 1.
include/minix/config.h
Z_MAP_SLOTS upped to 32 to allow V2 file systems of up to 256 Mb.
ENABLE_XXX variables for Mitsumi CD-ROM and Soundblaster drivers
added.
include/minix/const.h
NR_IOREQS symbol introduced as the maximum size of a scattered
I/O vector. Vectors used to be NR_BUFS in size, which is a
potentionally large value.
NR_TASKS redefined as (10 + ENABLE_XXX + ENABLE_YYY + ...).
include/minix/sound.h
For the Soundblaster driver.
include/minix/syslib.h
Declarations for all the interface functions to the system task
added.
include/sgtty.h
Definitions for higher baud rates. (Some so high that they are
not likely to even work, but you can never know.) Untested!
include/sys/ioctl.h
Carloads of ioctl request codes added for font loading, CD-ROM,
and Soundblaster.
man
Various manpages updated, several new ones for new commands.
The boot(8) manpage contains several new or changed boot
parameters, and the TCP/IP configuration section is updated for
the new ethernet driver.
New manual pages: loadfont(0), isodir(1), isoinfo(1), isoread(1),
mixer(1), playwave(1), cdplay(1), isoread(1), recwave(1),
screendump(8).
src/boot/boot.c
Boot device name in boot monitor prompt.
src/boot/boothead.s
Allow Minix to return to the monitor. This means that Minix is
just a subprocess to the monitor. The monitor either reboots Minix
(this is very fast) or shows the monitor prompt (halt).
Offer a support function for Minix-386 to make a BIOS int 13 call
for bios_wini.
src/boot/edparams.c
Don't edit boot parameters unless there is a genuine Minix
bootstrap on the device. Exit command to exit to Minix.
src/boot/extboot.s
Bootstrap that boots Minix in an logical (extended) partition.
For if you really, really, need to have Minix in logical
partition. (For the brave and foolish.)
src/boot/installboot.c
Support for extboot.s.
src/boot/masterboot.s
Stupid bug fixed in the "BOOT B:" trick. (Boot the other floppy
if floppy 0 contains masterboot.)
src/commands/aal/archiver.c
Use a temp file in /usr/tmp for /tmp may not be big enough to
contain a copy of the library.
src/commands/ellec.c
Bug fixed to make 'ellec -Profile' work.
src/commands/i386/asmconv
Translation of complex jmp and call targets from ACK to NCC or GNU
fixed. Proper translation of CBW, CDQ, CWD, and CWDE from BAS to
ACK.
src/commands/i86/cc.c
Give better advise than using chmem.
src/commands/ibm
New commands: cdplay, loadfont, mixer, playwave, recwave.
Moved in from commands/simple: loadkeys, screendump, term.
src/commands/ibm/fdisk.c
Fixed master bootstrap included.
src/commands/ibm/part.c
User interface changed to make it tad more user friendly. Also
fixed master bootstrap included.
src/commands/ibm/readclock.c
Don't complain if the machine is not an AT or PS/2.
src/commands/ibm/screendump.c
Mono or colour? Just look at BIOS variable 0x40:0x63 and you know.
src/commands/kermit
Higher baud rates. Untested!
src/commands/mined/mined1.c
Allow characters with bit 8 set. (KJB's idea of internationalization
is that all characters with bit 8 set are letters.)
src/commands/reboot/shutdown.c
New flags: -R: reboot with a hard reset (old style reboot),
-x "boot hd1": execute this monitor code on reboot.
src/commands/scripts/DESCRIBE.sh
src/commands/scripts/MAKEDEV.sh
Add knowledge of /dev/cd*, /dev/audio, and /dev/mixer.
src/commands/scripts/instdist.sh
Added more text to make it more expert hostile. Find out what our
root and usr devices are. If usr=fd0c then root is on fd0, etc.
src/commands/scripts/mkdist.sh
Make V1 file systems to save a few bytes.
src/commands/scripts/whatis.sh
Search expression fixed.
src/commands/simple
New command: isoread.
Obsolete or useless and thus removed: fix, getlf, gres, hyphenate.
Moved to commands/ibm: loadkeys, screendump, term.
src/commands/simple/dd.c
Added 'conv=silent' to suppress "records in/out" messages. This
option is unportable, but useful in Minix specific scripts.
src/commands/simple/file.c
Replaced by the Minix-386vm version for it understands more
executable types. (Old file didn't know Minix-386 binaries.)
src/commands/simple/in.rshd.c
Some port selection bug fixed. (Je ne parle pas TCP/IP.)
src/commands/simple/rarpd.c
Major overhaul. Checks if networks already configured, makes RARP
requests, slices bread, answers RARP if /etc/ethers exists.
src/commands/simple/rsh.c
Proper path to rlogin.
src/commands/simple/vol.c
Added knowledge of tape block sizes. Very useful now for compressed
backups to tape. New manual page.
src/fs/cache.c::rw_scattered()
Limit I/O vectors to NR_IOREQS blocks. NR_IOREQS = max(NR_BUFS, 64).
src/fs/const.h
FS_STACK_BYTES symbol removed. FS is now loaded with a normal
crtso.s instead of the special head.s. The stack size is set
with chmem. The stack is allocated by the boot monitor.
src/fs/file.h
Locking definitions moved to lock.h.
src/fs/glo.h
The fstack array removed.
src/fs/lock.[hc]
Locking code formerly in file.h and misc.c.
src/fs/misc.c
Locking code moved to lock.c.
src/fs/read.c
Bug with large pipe writes fixed. (Return count was wrong.)
The rw_user() function removed. All calls to rw_user() are
replaced by sys_copy() calls.
Read ahead limited to NR_IOREQS blocks.
src/fs/table.c
Device table cleaned up and CD-ROM, AUDIO, and MIXER devices
added.
src/fs/utility.c
The sys_xxx() functions moved to src/lib/syslib.
src/inet
Broadcast ethernet address properly recognized, and other little
fixes.
Stack array removed in favour of a stack created by the monitor.
src/kernel/aha_scsi.c
Deadly bug fixed in the CD-ROM reading code.
Drives larger than 1 Gb have a fake 255x63 geometry. (This was
already so in the 386vm driver. Stupid of me not to adapt this
one.)
Major overhaul to remove code that issues multiple commands to the
same target. Hardly made a performance difference, but complicated
the code leading to crashes on moon phase changes.
src/kernel/*_wini.c
Partititions is not speled that way.
src/kernel/bios_wini.c
Adapted to run in protected mode. (Both 286 and 386 protected mode!)
Max number of drives set to 4.
src/kernel/clock.c
Code added to reprogram the clock to the BIOS rate at Minix halt.
Tricks added to collect clock ticks that get lost when the BIOS
driver is active.
New millisecond timer primitives to aid in high speed polling of
I/O registers. Various drivers adapted to use them.
src/kernel/console.c
Don't blank the screen when switching to software scrolling. Don't
change the cursor shape. Code added to load a new font into the
VGA card. There are no fonts yet though.
src/kernel/dp8390.[hc]
New ethernet driver for cards based on the DP8390 chip.
src/kernel/driver.c
Several nop_xxx functions removed. Tasks are now completely
configured out of the kernel, they no longer run a dummy loop.
src/kernel/ether.[hc]
src/kernel/hw_conf.h
Old ethernet driver. Removed.
src/kernel/i8259.c
Reprogram the interrupt controllers only if in protected mode. In
real mode we use the normal BIOS interrupt vectors, and only
reprogram those that Minix needs.
src/kernel/keyboard.c
CTRL-ALT-DEL now halts instead of rebooting. (The monitor would
otherwise reboot Minix-386. This is usually not what the person
behind the console wants.)
Reboot code changed to return to the monitor for Minix-386. All
devices appropriately reprogrammed for the BIOS.
src/kernel/keymaps/spanish.src
Modified by Javier Garcia Martin (jawa@inf.deusto.es).
src/kernel/klib386.s
src/kernel/klib88.s
8086 bios13 code changed to enable all unused IRQ's and to
disable them afterward, so that bios_wini need not know the IRQ
of the disk. 286 bios13 allows bios_wini to operate in
protected mode. It steps back to real mode with a processor
shutdown, makes the BIOS call, and steps back up to protected
mode. The 386 version makes a call to a monitor function that
makes the call using 386 ways to step in and out of real mode.
Don't read this code if mentally unstable.
Port_read_byte() and port_write_byte() functions added that do
block port I/O in byte mode. (Needed for the NE1000 driver and
the Mitsumi CD-ROM driver.)
Protected mode initialization code cleaned up and calls to it
removed from C code.
Extended memory copy removed from klib88.s::phys_copy() for lack
of use.
src/kernel/main.c
Stack pointers of servers initialized to the top of their
address space where the monitor has made a stack.
Stack guard words for the tasks added. The system now panics
early if a tasks overruns its stack, instead of crashing in an
adjacent task.
Real mode vector initialization code removed. Minix now runs in
real mode with only minimum changes to BIOS parameters. All the
special case code for real mode is gone. One should be able to
make BIOS calls from user programs, but that's just an unfortunate
side-effect of the cleanup. (The BIOS disk driver is happy though.)
src/kernel/mcd.c
Mitsumi CD-ROM driver by Michel Prevenier (mrpreve@cs.vu.nl).
(Andy has these fun projects for his students. :-) )
src/kernel/memory.c
The RAM disk can no longer be placed in extended memory. Minix
should now be able to run in protected mode on any 286 or better,
so we can forget about "extended memory" being special.
src/kernel/mpx386.s
src/kernel/mpx88.s
Flags set to tell the monitor that stacks must be made for the
servers, and that Minix-386 would like to return on reboot or
halt. (Requires a new boot monitor, 1.7.0 monitor won't work.)
Cruft removed, protected mode initialization cleaned up.
Real mode int08-16 removed.
src/kernel/ne2000.[hc]
NE1000 and NE2000 code for the ethernet driver.
src/kernel/proc.c
Stack guard check in unready().
src/kernel/ps_wini.c
Writing enabled, driver otherwise nonfunctional. (See comments
in the file.)
src/kernel/rs2.s
src/kernel/rs232.c
RS232 hangup code contributed by Will Rose (cwr@cts.com).
Untested.
src/kernel/sb16.h
src/kernel/sb16_dsp.h
src/kernel/sb16_mixer.h
Soundblaster driver by Michel Prevenier (mrpreve@cs.vu.nl).
Hardly tested.
src/kernel/start.c
Several changes for the monitor return and BIOS calls. Call to
sel_wini_task() removed, as the BIOS driver is now even useable
in 286 protected mode. Simplyfied a bit w.r.t. real/protected
mode.
src/kernel/table.c
New definitions, stack sizes, etc. for the new drivers.
src/kernel/tty.c
New font change ioctl. RS232 hangup.
src/kernel/wdeth.[hc]
WD8003 and WD8013 parts of the ethernet driver.
src/kernel/wini.c
Panic if the selected hd driver doesn't exist instead of
silently failing.
Sel_wini_task() folded into winchester_task().
src/lib/*/rts/head.s
Removed.
src/lib/other/printk.c
Replaced by the Minix-386vm version that is somewhat smaller
and somewhat more ANSI C compliant.
src/lib/other/syslib.c
Moved to src/lib/syslib and split up.
src/lib/posix/_getcwd.c
Initialization bug fixed.
src/lib/syslib
All the sys_xxx() functions from other/syslib.c and the
utility.c files of MM and FS gathered here in separate files.
(Much like the system call stubs in the posix directory.) The
sys_copy() function is changed to look like the former
mem_copy() function of MM.
src/mm
SIGMASK changed to SIGPROCMASK in lower or upper case.
src/mm/alloc.c
src/mm/main.c
Get_mem() removed from main.c and built into alloc.c::mem_init().
src/mm/const.h
src/mm/glo.h
src/mm/table.c
Stack stuff removed.
src/mm/utility.c
Sys_xxx() functions moved to src/lib/syslib. All calls to
mem_copy replaced by sys_copy() calls. (Sys_copy has been
changed to have the same interface as old mem_copy, save a few
type changes.)
src/tools/init.c
Stack array removed. Abort signal (CTRL-ALT-DEL) now does a
halt.
src/tools/mkboot
Delay added to 'make hdtest' to make it visible that another
device is booted. The other device has its own set of boot
parameters! Test and floppy boot device changed into file
systems with copies of /dev and /minix. This script must now
be run as root from the start, 'su root' calls removed.