--- MiNT/src/changes 2018/04/24 17:55:36 1.1 +++ MiNT/src/changes 2018/04/24 17:57:23 1.1.1.3 @@ -4,10 +4,1706 @@ first. +version 1.08 + + + +dosfile.c,dosdir.c,filesys.c: + + Made the file and directory operations re-entrant, by replacing + + the global variable "temp1" with local variables (where needed). + +dosdir.c,filesys.c: ++schwab@ls5.informatik.uni-dortmund.de + + Cleaned up the directory closing functions. + +dosmem.c: ++schwab@ls5.informatik.uni-dortmund.de + + Fixed a bug in do_vfork (the child's PROC structure could be + + freed when signals are checked for, and the old code wasn't + + prepared for that). + +purec\*.*: ++reschke@math.uni-muenster.de + + Updated for the new version of MiNT. + +*.*: ++alex@falcon.demon.co.uk + + Lots of fixes to get rid of warnings and some small optimizations. + +dosmem.c,procfs.c: ++reschke@math.uni-muenster.de + + In Pexec, save the name and arguments a process was started with + + into the PROC structure, so that they can be recovered at run time. + +filesys.c,main.c,unifs.c: ++Ulrich Kuehn + + At boot time, load files called *.xdd which contain external + + device drivers. + + Also, provide Dcntl calls for drive U: to allow installing and + + de-installing file systems at run time. + +bios.c: ++nox@jelal.north.de + + Only busy-wait for the parallel port, not for serial ports. + +unifs.c: ++schwab@ls5.informatik.uni-dortmund.de + + Pass Dcntl commands along to file systems. + +signal.c: ++schwab@ls5.informatik.uni-dortmund.de + + Make Fselect interruptable. + +procfs.c: ++schwab@ls5.informatik.uni-dortmund.de + + Check for illegal signal numbers in ioctl(PTRACEGO,...). + +dosdir.c: + + Fattrib should have been following links. + +*.spp: ++Claus Brod and Uwe Seimet + + Various optimizations + + + +version 1.07 + + + +debug.c: ++reschke@math.uni-muenster.de + + Translated the German "FATAL ERROR" message. + +intr.spp: + + The bus error handler shouldn't use 68030 MMU instructions unless + + it is on a 68030. (Thanks to Stephen Henson for catching this.) + + + +version 1.06 + + + +bios.c: ++akiernan@cix.compulink.co.uk + + Fixed a bug with Bconout and TOS 1.02. + +dosmem.c: + + Bug fix: Pexec mode 4 should cause the child to inherit its parent's + + memory. + +filesys.c: + + if disk_changed() detects an invalid drive, return EDRIVE from + + it and also from path2cookie(). + +main.c: + + Fixed the PRN= line in mint.cnf (it was redirecting AUX:, not + + PRN:). + +xbios.c: + + Made Dosound() automatically grant supervisor access to the + + region the sound is in. + +debug.c: + + Make the "FATAL ERROR" message multilingual, and also less + + confusing if debugging information is not provided. + +timeout.c,main.c: + + Make the addtimeout() and canceltimeout() functions available + + for device drivers. + +signal.c: ++schwab@ls5.informatik.uni-dortmund.de + + Reduce the amount of space needed for signal calls (we were + + being overly cautious on that), + +dosmem.c: ++akiernan@falcon.demon.co.uk + + Make sure that the text segment in which a process will be + + executing is attached to that process when it is started with + + a Pexec (4,...). + +asmtrans: ++robert.wilhelm@physik.tu-muenchen.de + + Enhanced to accept some 68030 specific addressing modes. + +proc.c: + + Removed the save/restore of the logical screen pointer for the + + MultiTOS kernel (this causes problems on a Falcon, since if the + + AES changes resolution its parent process may be left with a + + logical screen pointer pointing at invalid memory). + +bios.c: ++robert.wilhelm@physik.tu-muenchen.de + + Some small optimizations. + +biosfs.c: + + Fcntl() was not interacting properly with rsconf(), so that + + setting baud rates via Fcntl didn't work. + +dosfile.c: + + Fforce() should return 0 on success. + +context.spp,cpu.spp: ++julian@math.uni-muenster.de + + Patches for PureC. + +intr.spp: ++Robert.Wilhelm@Physik.TU-Muenchen.DE + + Small optimization: no return value is needed for spl(). + + + +version 1.05 + + + +main.c: ++hyc@hanuama.jpl.nasa.gov + + A better Falcon BIOS fix: if we're on a broken Falcon, turn + + off Bconmap completely. + +various places: ++hohmuth@freia.inf.tu-dresden.de + + Applied Michael's patch to make MiNT compile with PureC and + + the MiNT library. + +memprot.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Fixed a bug in prot_temp (the cookie values weren't being + + parsed out correctly). Also, added "const" where appropriate. + +dosfile.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Fixed some places where the fdflags[] for file handles + + wasn't be set up correctly (default is 0 for std handles, + + FD_CLOEXEC for non-std). + +cpu.spp,main.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Saved the MMU context when starting MiNT, so that we can + + restore it again afterwards (and thus exit MiNT gracefully). + +main.c: ++julian@math.uni-muenster.de + + Supplied a PMMU cookie if memory protection is on; if a PMMU + + cookie already exists, don't do memory protection. + +fasttext.c: ++nox@jelal.north.de + + Added ESC-t support to the fasttext device. + +bios.c: ++nox@jelal.north.de + + Some modem port TSRs also don't return the correct value from + + Bconout. + +dos.c: + + Made Tsettime() and Tsetdate() available only to the super user. + +various places: ++akiernan@cix.compulink.co.uk,++julian@math.uni-muenster.de + + Portability fixes to make the code compile with PureC and + + Lattice C; also, Alex fixed up the cache clearing code. + +tosfs.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Fixed a bug in the NEWWAY code (during disk change, don't + + free file cookies that may be in use). + +context.spp: ++seimet@rhrk.uni-kl.de + + In the restore context code, touch the page containing the + + (new) supervisor stack pointer before switching stack pointers. + + Otherwise, if the page is not resident (a 3rd party virtual + + memory system has swapped it out) then the resulting + + bus error is fatal. + +tosfs.c: ++akiernan@cix.compulink.co.uk + + Fixed a bug that could cause crashes on disk changes (the + + 'open' field was an integer for directories). + +rendez.c, mem.c: ++Martin_Koehling@un.maus.de + + Fixed some memory leaks (semaphores weren't freed after being + + destroyed, and if load_and_reloc failed then the memory + + allocated for the shared text region wasn't freed). + +procfs.c: + + When tracing is cancelled for a process with PTRACESFLAGS, + + start the process again by sending it SIGCONT. + +procfs.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Don't allow processes to be removed by a different user. + +signal.c: + + Fixed the debug tracing code so that SIGCONT doesn't stop + + a process, even if it is being traced. + +procfs.c: + + Dpathconf was returning the wrong value (8 instead of 12 -- it + + wasn't taking the pid number extension into account). + + + +version 1.04 + + + +bios.c: + + Changed the way timeout worked for Bconout() stuff (basically, + + rewrote the code so that it really does work -- the old code + + used the system clock in timeout.c, which doesn't get updated + + if no context switches are happening; the new code uses the + + 200hz counter, which is always updated). + +proc.h: + + Increased the number of Fsfirst searches that can happen + + simultaneously to 10 from 6 (this is a per-process + + limit, not system wide). + + + +version 1.03 + + + +xbios.c: ++entropy@terminator.rs.itd.umich.edu + + In old versions of TOS, Rsconf could get stuck waiting for the + + transmit buffer to empty if flow control was on. Added a timeout. + +dos.c: + + Changed Psetpgrp so that passing a pgrp of -1 makes it into + + an inquiry call. + +filesys.c: ++Martin_Koehling@un.maus.de + + Fixed a bug in Flock (regions were being locked 1 byte too far). + +mem.h: + + Changed the memory allocation quantum to 256 bytes, so that + + Srealloc will always work right on ST's. + + + +version 1.02 + + + +main.c: + + Run any AUTO folder programs appearing after MINTNP.PRG + + as well as just plain MINT.PRG. + +syscall.spp: + + Pop more stuff off the stack in sig_return, since we + + did push more onto it in handle_sig. (It really shouldn't + + matter, restore_context will restore the stack pointer + + anyway, but better safe than sorry.) + +filesys.c,mem.c: + + Made the open file associated with shared text memory + + regions be closed automatically when a media change occurs. + +xbios.c: + + Changed the do_usrcall function into an assembly language + + routine which preserves all registers. Apparently some + + programs rely on being able to pass parameters to Supexec + + in registers. We only used to kill register A0, which was + + reserved for BIOS use anyway, but obviously some programmers + + choose not to read the f'ing manual. + +dosdir.c: ++entropy@terminator.rs.itd.umich.edu + + Fixed a typo (PATH_MAX where ERANGE should have been). + +biosfs.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Check control keys on every newline, so users get quick response + + to their key hits. + +tty.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Fixed a typo (t_startc is the character to use to resume terminal + + output, not t_stopc!) + +dosdir.c,dosmem.c,filesys.c,tosfs.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Fixed many dup_cookie and release_cookie bugs; the code should be much + + more usable now. + +main.c: + + Corrected a flaw in the 68030 only version -- it assumed that + + 68030 was synonymous with memory protection. Also: set + + mcpu correctly. + +main.c: + + Checked to see if we're called "MINTNP.PRG"; if so, turn off + + memory protection automatically. Commented out the code + + for automatically turning MP off on 1 meg machines. + + + +version 1.01 + + + +main.c,intr.spp: + + Use init_tail for the temporary stack (saves us 128 bytes of bss, + + oh boy). + +main.c: + + If less than 1 megabyte is free, turn off memory protection + + automatically. + +mem.h: + + If there's no memory protection, do all ROUNDing etc. to + + 16 byte boundaries rather than 8K page boundaries. + +mem.c: + + Added a check for the ability to move screen RAM; evidently + + some boards use ST RAM but still don't allow Setscreen() + + to work. + +all over the place: ++julian@math.uni-muenster.de + + Cleaned up the code for PureC compatibility. + +all over the place: ++akiernan@cix.compulink.co.uk + + Cleaned up the code for Lattice compatibility. + +fasttext.c: ++hyc@hanauma.jpl.nasa.gov + + Sped up by special casing some of the gotoxy() calls, and + + also allowed 8 pixel high characters in monochrome mode. + +dosdir.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Allow Frename() to succeed on symbolic links. + +signal.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Save processor context stuf in the reserved BIOS area even for + + bus errors with memory protection on. + +dosfile.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Initialize the exception file descriptors to 0, in anticipation + + of future use of this Fselect feature. + +dosfile.c: ++schwab@lamothe.informatik.uni-dortmund.de + + Allow pipes to be opened and written to with O_APPEND mode. + +version.h: + + Got rid of the PATCHLEVEL define. Now that I've finally + + checked everything into RCS, it's much easier to just bump + + up the version numbers on each release. + + + +version 1.00 + + + +welcome.c,version.h: + + Sigh. This is MultiTOS 1.0's MiNT, so even though I don't + + consider it "finished", I'm changing the version number to + + 1.0. At least it's no worse than TOS 1.0 :-). + +memprot.c: + + We want to flush the ATC cache, *not* the CPU cache. Thanks + + for pointing this out, Alex. + +bios.c: + + Fixed a problem with Speedo GDOS; if the printer's buffer was + + full, Bconout(2,...) would do a context switch, which is not + + a good thing for Speedo. + + + +version 0.99 + + + +PATCHLEVEL 2:: + + + +main.c: + + Big bug fix -- the do_exec_os routine was being called with a + + basepage that occupied all of memory, so that the Pexec(200) it + + did was failing due to insufficient memory. Now we Mshrink the + + basepage; this also necessitates fixing up the stack pointer. + +main.c: + + Handle mint.cnf files that don't end in a carriage return/line feed + + combination. + +filesys.c: + + New path parsing code to correct a bug in the way symbolic + + links were being handled on loadable file systems. + + + +PATCHLEVEL 1:: + + + +debug.c: + + Made the default debugging level give ALERT messages. + +dosfile.c: + + Corrected a bug in the way global file handles are closed. + + + +PATCHLEVEL 0:: + + + +dosmem.c: + + Made it so that overlay Pexec modes (e.g. 200) set up + + the basepage to preserve the same "parent". + +main.c: + + Added in a kludge so that if we're starting GEM from a file + + (e.g. gem.sys) then we do it via the exec_os vector. I hope + + this makes the Codeheads happy :-). + +dosmem.c,tty.c: + + Backed out entropy's and schwab's changes. Random programs + + were getting stopped under MultiTOS because of them; I can't + + find the cause, so let's go back to something that worked + + (if suboptimally). + +main.c: + + Fixed a silly initialization error: we should not + + assume a default language, we should get it from + + the ROMs. + +dosdir.c: ++julian@math.uni-muenster.de + + Extended Dlock: if bit 1 of the mode is set, then the + + process id of the process using the drive is returned + + instead of ELOCKED or EACCDN; this allows for more + + informative error messages. + +welcome.c: + + Updated the copyright notice. + + + +version 0.98 + + + +PATCHLEVEL 4:: + + + +dosmem.c,tty.c: ++entropy@gnu.ai.mit.edu + + Corrected some silliness in the job control code. + + + +PATCHLEVEL 3:: + + + +xbios.c: + + Took out the ONLY030 optimization; it didn't work correctly + + (I can't see any reason why it shouldn't have worked, but + + it didn't; perhaps a compiler bug bit us?) + + + +PATCHLEVEL 2:: + + + +main.c: + + Changed magic shift key to LEFT shift key. + +filesys.c: + + Make loaded .XFS files go into supervisor accessible + + memory. + +welcome.c,main.c: + + Ask user in her own language whether or not to boot if the + + kernel is a MultiTOS one and she held down the shift key. + +filesys.c: + + Relax O_COMPAT mode opens somewhat so that any + + number of processes can open the file for reading, + + as long as no more than 1 has it open for writing. + + ALSO: make sure O_EXEC gets treated the same as O_RDONLY. + +dosfile.c: + + Change TRACE() to TRACELOW() on Fread and Fwrite. + +tosfs.c: + + Went back to old method of doing tosfs.c; this is + + better tested and safer. + +dos.c: + + New system call, Salert(msg), for doing an alert message. + +debug.c: + + Terminate messages written to the alert pipe with a 0. + + Also: pour them into alert boxes so that programs like + + sysalert don't have so much to do. + + + +PATCHLEVEL 1:: + + + +fasttext.c: ++shenson + + Corrected the quote_putch function. + +dosdir.c: + + Allow Dfree(n) to work if "n" is a big number (e.g. BIOSDRV) + + and the corresponding pseudo-drive is a current or root directory + + of the current process. + +pipefs.c: ++schwab@ls5.informatik.uni-dortmund.de + + Return a new error number, EPIPE, for writes to broken pipes. + +tty.c: ++schwab@ls5.informatik.uni-dortmund.de + + If a tty loses its owner, the next process to do i/o to it + + will become the owner. + +dosfile.c: ++schwab@ls5.informatik.uni-dortmund.de + + FA_RDONLY doesn't mean "read only" on the process file system, + + so allow such processes to be opened for writing. + + + +PATCHLEVEL 0:: + + + +xbios.c: + + Fixed Supexec to pass the function pointer on the stack, too + + (just as TOS does). This is still undocumented behaviour, + + so you rely on it at your own risk. + +xbios.c: ++entropy@gnu.ai.mit.edu + + Applied a fix for Rsconf() with TOS 1.04, and made the + + old TOS Rsconf stuff #ifndef ONLY030. + +proc.c,dosmem.c: + + Wrap all calls to add_q/rm_q in spl7(), so that the + + wakeselect() function truly can be called from + + interrupt code. + +makefile,*.spp: + + Make provisions for compiling an 030/040 only version + + of MiNT; this should be faster and smaller than the + + generic version. + +version.h: + + The file system interface changes warrant a new version + + number, so here it is. + + + +version 0.97 + + + +PATCHLEVEL 3:: + + + +dosdir.c,proc.c: + + Keep a chain of open directories, so that if a program + + terminates without calling closedir() we can still clean + + up after it. Also: allocate directory structures from + + kernel memory rather than user memory, so that we don't + + take an 8K hit on each one. PROBLEM: a bug in the mntlib + + readdir() function causes bus errors if memory protection + + is on. This is a library bug that needs to be fixed + + real soon now. + +dosmem.c: + + TSRs now get forced into global memory if they were running + + privately; this should make things easier for users who + + forgot to change prgflags on their TSR programs. + +filesys.c: + + New meaning for O_COMPAT mode: deny write access to all other + + processes. + +tosfs.c: + + Added a define to turn on/off the RO_FASCISM code. Personally, + + I think it should always be on. + +dosdir.c,filesys.c,file.h,*fs.c: + + New file system functions, release() and dupcookie(), so that + + the kernel can inform file systems when it is finished + + with a file cookie; networked file systems will be very + + happy about this. + + + +PATCHLEVEL 2:: + + + +procfs.c: + + Moved the memory protection checks for proc_read and + + proc_write to a separate function in memprot.c. + +dosfile.c: + + Remove the old compatibility code for Fcntl(F_SETFL,...). + + (Actually, it's commented out, so we can put it back in + + if we need to.) + +signal.c: + + Change default behaviour for SIGFPE (which is raised + + by division by 0) to "ignore", same as TOS. + +dosdir.c: + + Made Dgetcwd() use the new size parameter, so that it + + works as advertised. + +file.h, *fs.c: + + Provide a "size" parameter for the getname() file system + + function, so that we can do Dgetpath() of arbitrary length + + paths. + +util.c: + + BIG_MEM_DUMP is a nasty thing for users to get; + + so we shouldn't do it on all failed mallocs! + + + +PATCHLEVEL 1:: + + + +proc.c: + + Plugged a memory leak (dispose_proc was failing to + + free the process table memory, because fork_proc + + was zeroing that field in the PROC structure). + +main.c: + + Fixed MAXMEM= (it was setting the maximum CPU time, + + not the maximum memory -- I thought I tested this!) + + + +PATCHLEVEL 0:: + + + +main.c: + + Added MAXMEM= and SLICES= variables for mint.cnf. + +bios.c: + + Fixed Setexc so that if the new vector is in a global + + region, the region is re-marked to be super. + +dosmem.c: + + Fixed a race condition with memory protection and + + Pexec(100,...) (if the new process exited early, + + the old process might still try to access it). + +realloc.c: + + New file, for doing the Srealloc system call (for + + Falcon TOS). + +*.*: + + Merged in Allan's memory protection and debugging + + code. New files: memprot.c, nalloc2.c, welcome.c. + + + +version 0.96 + + + +PATCHLEVEL 14:: + + + +tosfs.c: + + Aaargh! Just after cutting this patch I discovered + + that I had the test backwards. + + + +PATCHLEVEL 13:: + + + +tosfs.c: + + Changed so that Fsfirst()/Fsnext() always return + + upper case, regardless of domain. (MiNT aware + + programs should use the new directory functions.) + +dosdir.c: ++akiernan + + Got rid of the special hack for drive x:, since + + drive x: no longer exists. + +asm.y: ++akiernan + + Cleaned up a bit. + +*.c: ++julian + + Some minor patches for PureC. + +dosdir.c: ++julian + + New system call, Dgetcwd(), with a 'size' parameter; + + this doesn't do anything different from Dgetpath + + now, but it's there for future expansion. + + + +PATCHLEVEL 12:: + + + +version.h: + + Update the patchlevel correctly. + +pipefs.c,dosfile.c: + + Keep the Unix style semantics for pipes created with + + Fpipe, but not for other fifo's (which by default will + + continue to read the number of bytes requested). + + + +PATCHLEVEL 11:: + + + +tty.c: ++schwab + + Support word-erase and quote-next-char. + +fasttext.c: ++schwab + + support fgcol/bgcol + + (screen_ioctl): tty_ioctl is now called by parent by default if + + EINVFN + +signal.c (check_sigs): ++schwab + + Use an int to index signals, not a long + +biosfs.c (bios_getxattr): ++schwab + + u:\dev\stdin, etc., get the attributes of + + the associated files + +dos.c (p_setuid, p_setgid): ++schwab + + Allow setting to the current real [gu]id + +bios.c (checkkeys): ++schwab@ls5.informatik.uni-dortmund.de + + Keys read by do_func_key should not be + + interpreted (esp. UNDO -> SIGQUIT). also recheck shift status + + since do_func_key may take some time + +xbios.c: ++entropy@gnu.ai.mit.edu + + Added code to support old (tos < 1.4) Rsconf() + + semantics. + +mem.c: + + Changed so that attempts to execute a shared text program + + which has data/bss references in the text segment will + + get an ENOEXEC error instead of ENSMEM. + +*.c: ++julian@math.uni-muenster.de + + Applied Julian's purec patches. + + + +PATCHLEVEL 10:: + + + +pipefs.c: + + Changed so that read() on a pipe will return as + + soon as some data is available; this is how + + all Unixes work. + +*.c: + + Applied Julian's patches to allow compilation with + + PureC. + +main.c: + + New variable, MAXMEM=, for setting maximum memory + + size (in K). + +main.c: + + Removed PSEUDODRIVES= command, since "alias" has + + replaced it. + +util.c: + + Changed atoi to atol; it's more generally useful. + +asmtrans: + + Applied Howard's patches; in particular, made %ifdef + + apply to other commands (like %define) as well as to + + code generation. + + + +PATCHLEVEL 9:: + + + +asmtrans: + + Cleaned up a bit more for cross-compilation. + +intr.spp: + + in_kernel can be set while the process is in user mode + + (if the critical error handler calls GEM) + +syscall.spp: + + Get rid of some more magic numbers. + +bios.c: + + While fixing the mtt bug, a new bug was introduced. So, + + let's try again :-). + + + +PATCHLEVEL 8:: + + + +bios.c: + + Fixed a particularly silly bug in bios.c: in do_bconin(), + + r was being returned without being initialized. Why didn't + + gcc catch this? + +*.c: + + Applied Alex's patches for Lattice, and Julian's patches for + + Pure C. + +signal.c: + + Kill programs with p_term() instead of terminate() (except for + + signal SIGKILL) so as to allow them a chance to clean up via + + the term_vec vector. + +shmfs.c: + + Allow Fattrib() call to change the read-only + + bit. Made Fxattr() return the correct mode + + for shared memory files. + +main.c, fasttext.c: + + Allowed HARDSCROLL=AUTO to set the number of + + lines of scrolling to the current screen size. + +syscall.spp, inline.h: + + New functions, callout2() and callout1(), with + + less overhead; used by bios.c to call the + + Bconxxx functions. + +bios.c: + + Changed calls to Bconxxx functions into + + jumps through the defined vector table in + + low memory, when this is possible (TOS 1.0 + + doesn't have the table). + +asmtrans, *.spp: + + Added %ifdef, %else, and %endif commands (for + + future expansion). Removed the requirement that + + macros to be expanded be delimited by % signs, + + and cleaned up the definitions. Changed + + "SECTION FOO" to "FOO". Added -purec compilation + + option. + +filesys.c: + + Fixed a bug in changedrv (there was no + + check to see if "d" was a BIOS drive before + + aliasdrv[d] was tested). + + + +PATCHLEVEL 7:: + + + +biosfs.c,fasttext.c: + + Fixed incorrect code that assumed TCURSON + + was 0. + +makefile: + + Fixed Makefile to work with older versions + + of gmake, as well as generic make programs. + + + +PATCHLEVEL 6:: + + + +*.s: + + Radical overhaul of how assembly language is + + handled. We now provide 2 utility programs, + + "genmagic" (for producing symbolic names for + + various offsets into structures) and "asmtrans" + + (for processing .spp files, replacing macros + + defined by "genmagic" and optionally translating + + Motorola to MIT syntax). Now we only have to + + maintain the .spp files; the Lattice and gcc + + versions of the .s files are generated automatically, + + and as a side benefit we can get rid of magic + + numbers in the .s files and be sure that if we + + change proc.h, the assembly language will be + + updated properly. + +main.c,filesys.c,file.h: + + Added a new command to mint.cnf, "alias", to + + enable aliases for pseudo (and other) drives + + to be created. Also, deleted drives q:, v:, and + + x:. Programs should no longer be using these; + + if they are, users can put things like + + "alias q: u:\pipe" into mint.cnf. + +file.h: + + Fixed the definitions for TCURSON and TCURSOFF. + +console.c: + + Moved the handle checks in file_* functions into + + separate functions, since for example we *know* + + that handle 0 falls within the legal range; this + + should remove a bit of overhead on BIOS and + + single character GEMDOS I/O. + +main.c: + + Got rid of the zeroexit() code; since we now + + allow the whole boot process to be aborted by + + right shift. + +pipefs.c: + + Allow Cursconf() to work on TOSWIN pipes. + +mem.c: + + Check the date and time of shared text regions + + before re-using them. + +bios.c,syscall.s: + + Changed the trap #13 entry point to allow quick + + evaluation of BIOS functions that don't need + + the full context save/restore done. + +everywhere: + + Macro-ize TRACE and DEBUG so that it's possible + + to produce a smaller version of MiNT without + + them. + +biosfs.c: + + Don't check for keyboard presses after every + + BIOS write, it's too time consuming. + + + +PATCHLEVEL 5:: + + + +mem.c: + + Another bug: we shouldn't do the dLibs Pexec + + hack on the first process we start up, because + + it means messing with the MiNT basepage (which + + is not ours to mess with, it's TOS's). + +main.c: + + Fixed bug in enter_kernel (rootproc->base is no + + longer necessarily MiNT's basepage). + +various places: + + Tried to remove gcc warnings about constant + + expression overflow. + +syscall.s: + + Applied Alex's patch to allow trace mode to work + + with non-MiNT debuggers. + +various places: + + Applied Alex's patches to get rid of Lattice warnings + + about unneeded assignments. + +mem.c: + + Added extra traces to exec_region() in an effort to + + track down the mysterious crash problems that others + + have had. + + + +PATCHLEVEL 4:: + + + +dosmem.c: + + Made do_vfork not bother to save shared text regions. + +bios.c: + + Made Rwabs respect Dlock. + +tosfs.c: + + Made the TOS media change routines lazier (actual + + disk access is deferred until the disk is next + + needed). + +main.c: + + Applied Alex's patches for setenv. + +everywhere: + + Applied Julian's patches for Pure/Turbo C. The + + resulting kernel doesn't actually work yet, but + + at least we don't get so many error messages when + + compiling. (Who needs lint when you have three + + fussy ANSI compilers?) + +mint.h: + + Oops; we should have had #include "inline.h" here. + +inline.h: + + Applied jrb's GCC patches, and Alex's Lattice patches. + + + +PATCHLEVEL 3:: + + + +bios.c: + + Some optimizations in bflush(). I tried something like + + this before, but messed up the terminal output modes. + + Let's hope I got it right this time. Also: + + removed some dependencies on sizeof(int). + +makefile: + + Tried -O2 instead of -O. It seems to work, so let's + + leave it on for now. + +inline.h: + + New file to keep short, inlined versions of frequently + + called functions. + +intr.s: + + Check the floppy disk locking flag before doing a + + pre-emption. Not really necessary now, but it doesn't + + hurt to be careful. + +dosfile.c,*fs.c: + + Applied Alex's F_SETLKW patches. If Alex isn't careful, + + he's going to make MiNT Posix compliant on us :-). + +dosmem.c: + + Applied Alex's patches to add a Pwaitpid system call. + +main.c: + + If running from the AUTO folder, adjust the basepage + + chains so that MiNT is invisible to programs that + + (incorrectly!) make assumptions about basepages. + +proc.c: + + Some optimizations in do_wakeup. + +filesys.c: + + Don't call (*fs->dskchng)() twice when a disk + + change is detected. + +main.c: + + Make sure the _resvalid system variable has the + + correct magic number in it for indicating that + + we want to catch the reset. + + + +PATCHLEVEL 2:: + + + +dosdir.c: + + Really forbid deleting other process' current + + directories (the actual "return EACCDN" was missing!) + +proc.c: + + Inlined the check_time() function, and re-arranged + + do_wakeup_things a bit to be more efficient. + +syscall.s: + + Streamlined a bit; things are now kept in registers + + where possible. + +filesys.c: + + When loading file systems at startup time, don't + + check the \MINT directory if that's the current one. + +filesys.c: + + After a media change, instead of throwing away all + + handles that pointed to the changed drive, make + + them point to /dev/null instead, so that they + + won't be re-used until the user explicitly closes + + them. + +dosdir.c: + + Allow Dlock() to succeed even if there is an + + unfinished Fsfirst/Fsnext sequence on the drive. + +mem.c: + + Allow relocations outside of the program load area; + + apparently, some programs actually need these. + +mem.c: + + Insert some sanity checks on memory addresses. + +signal.c: + + Restart check_sigs if the process stopped because of + + a signal, since the parent may reset the set of + + pending signals. + +cpu.s: + + New file from Alex, to control caching &c. + +various places: + + More debugging patches from Alex, to make attaching + + to existing processes work correctly. + + + +PATCHLEVEL 1:: + + + +various places: + + Cleaned up the debugging stuff a bit. For example, if a + + process does PTRACESFLAGS on itself, it's the same + + as if the parent did; also, if the process does a + + Pexec with overlay (i.e. Unix exec()) then it stops + + before its first instruction. This makes emulating + + the Unix ptrace() system call much easier. + + + +PATCHLEVEL 0:: + + + +biosfs.c: + + Changed Fcntl TIOCISPEED/TIOCOSPEED to return the + + next lowest legal baud rate if an illegal one is + + specified. + +filesys.c: + + Fix a bug that would cause an infinite loop if a + + bad .XFS format is encountered. + +mem.c,mem.h,dosmem.c: + + Implemented shared text; if the appropriate bit + + (for now, 0x800) in the program header is set, then + + the loader will set up a shared text region for + + the program, and subsequent executions of it will + + run out of the same text segment. Note that this + + does require appropriate compiler support! + +filesys.c: + + Fixed bug in the way directory searches are closed + + after a media change. + +biosfs.c,intr.s: + + Applied Julian's third mouse button patch for + + /dev/mouse. + +*.s: + + Applied Alex's debugging patches. Also: wrote a + + Motorola->MIT syntax converter, so that we only + + have to maintain the stuff in the "asm" directory. + +signal.c,proc.h,procfs.c,etc.: + + Applied Alex's debugging patches, with a few + + slight modifications. + + + version 0.95 +PATCHLEVEL14:: + + + + + +filesys.c: + + Check for the existence of the \MINT directory before + + trying to load .XFS files from there. + + + +--- patchlevel 13 released to the public --- + + + PATCHLEVEL13:: @@ -28,7 +1724,11 @@ dosdir.c: relpath2cookie no longer checks drive letters - unless "depth" is > 0. Fixed this. + unless "depth" is > 0. Fixed this. (why did + + we change relpath2cookie that way?? this is + + changed back in 0.99pl2) main.c,filesys.c: