Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel!munnari.oz.au!uunet!spool.mu.edu!agate!dog.ee.lbl.gov!hellgate.utah.edu!fcom.cc.utah.edu!cs.weber.edu!terry From: terry@cs.weber.edu (A Wizard of Earth C) Subject: 386BSD PATCH KIT BETA INDEX.2of2 Message-ID: <1992Oct4.112032.9308@fcom.cc.utah.edu> Sender: news@fcom.cc.utah.edu Reply-To: terry@icarus.weber.edu Organization: Weber State University (Ogden, UT) Date: Sun, 4 Oct 92 11:20:32 GMT Lines: 433 Here is the part two of the file "INDEX.Beta-1" from the patch kit: ------------------------ cut here -------------------------- patch00030 PATCH: ALLOW MAPPING OF VGA MEMORY AUTHOR: ? (please claim me) -- X patch set DESCRIPTION: Allow mapping of the VGA memory into the process address space. Major reason for this is to allow the X server to operate. patch00031 PATCH: VGA MAPPING AND SCANCODE GENERATION AUTHOR: ? (please claim me) -- X patch set DESCRIPTION: This patch creates ioctl commands for putting the console in/ taking the console out of "X mode". When set into "X mode", the console will generate scan codes at the keyboard and map the VGA memory into the setting processes address space. WARNING: This patch takes several liberties. The first is not defining a seperately settable "scan code mode". The second is changing the behaviour of the keyboard in "normal" mode. This may result in an inability to use alt-"-", alt-"=", or F11 or F12 on some machines, in particular, the Toshiba T1100 and Epson Equity 1 and Equity 1+ laptops. patch00032 PATCH: KERNEL NAMELIST DATABASE CREATION/USE AUTHOR: Paul Kranenburg, David Greenman (pk@cs.few.eur.nl, davidg%implode@percy.rain.com) DESCRIPTION: There are several bugs in the kernel namelist db creation/use and bugs in kvm.c which causes ps and several other utils to fail to work correctly. The kvm.c patches are based in part on, but supersede, the patches posted on usenet by Paul Kranenburg [which introduced bugs of its own]. In order for kvm_mkdb to work correctly, vers.o MUST be the first object linked in the kernel. The Makefile.i386 should read: SYSTEM_LD= @${LD} -z -T FE000000 -o $@ -X vers.o ${SYSTEM_OBJS} (or vers.o should be first in SYSTEM_OBJS) And, of course all things that depend on libutil.a will have to be rebuilt. patch00033 PATCH: READ FROM "/dev/drum" CAUSES CRASH AUTHOR: Paul Kranenburg (pk@cs.few.eur.nl) DESCRIPTION: Due to an improperly initialized buffer in 'physstrat', an attempt to read from /dev/drum would generally cause a crash. patch00034 PATCH: DISKLABEL PROGRAM REQUIRED ACTIVE PARTITION AUTHOR: Gary A. Browning (gab10@griffcd.amdahl.com) DESCRIPTION: It turns out that if you have not set an active partition on the SECOND drive, the disklabel program thinks that the DOS partition table is invalid and promptly, and without warning, assumes it owns the whole disk. It then writes it's label over the DOS partition table. I am not sure what it even means to have an active partition on the second drive since DOS will not boot from there anyway. A valid DOS parition no longer must have exactly one active partition. This is certainly not a required patch. The workaround is to always remember to have an active partition on each disk. patch00035 PATCH: ALLOW SELECTION OF 3COM 3C503 AUI/BNC FROM IFCONFIG AUTHOR: Herb Peyerl (hpeyerl@novatel.cuc.ab.ca DESCRIPTION: There have been questions about the configuration of the AUI/BNC connectors on the 3Com 3c503 card. The way the selection is made is to check for IFF_LLC0 being set in the "ifnet" struct. If set, the driver uses AUI, else BNC. The ifconfig program now allows the following syntax: ifconfig ec0 inet $hostname aui ifconfig ec0 inet $hostname bnc Default with no options yields BNC operation. patch00036 PATCH: PS FLOATING POINT EXCEPTION AUTHOR: Goran Hammarback[?] (goran@astro.uu.se) DESCRIPTION: There is a bug in the implicit type conversion from int to double in GCC, probably dealing with the optimization of function return values. The gist of this is that an extern double function that isn't declared has an implicit type of int. Assigning a double variable the return value of this function causes a floating point exception. Declaring the function fixes 'ps'. patch00037 PATCH: SOURCES NOT CORRECTLY IDENTIFIED IN "crond" MAKEFILE AUTHOR: Adrian Hall (adrian@ibmpcug.co.uk) DESCRIPTION: The makefile for the crond had the objects listed in the sources line. This caused "make depend" to fail. patch00038 PATCH: ERRORS NOT SEEN WHEN READING RAW WD DEVICE AUTHOR: Frank Maclachlan (fpm@crash.cts.com) DESCRIPTION: I/O errors are not reported when reading/writing from/to the raw wd disk device. I noticed this when using 'dd' to scan a disk w/ known bad blocks and couldn't find any. The wd driver, '/sys/i386/isa/wd.c', sets the B_ERROR bit in bp->b_flags, but fails to put an error code into bp->b_error. Physio() in '/sys/kern/kern__physio.c', which manages the raw I/O in this case, ignores the B_ERROR bit in b_flags and looks for an error code in b_error. The user program is fed garbage data and no clue that an error occurred. patch00039 PATCH: MAKE SOMETIMES REMOVES DIRECTORIES AUTHOR: David Dawes (dawes@physics.su.OZ.AU) DESCRIPTION: I was building X386 this morning, and when I interrupted 'make' it told me it had removed a directory. I checked and it really had unlinked it. (I got it back by booting the fixit disk and running fsck.) I've patched the make source so that it won't do this anymore. patch00040 PATCH: CD-ROM FILES SEEM TO DISAPPAER AUTHOR: Scott Burris (scott@pita.cns.ucla.edu) DESCRIPTION: The infamous "off by 1" problem hit two places in the isofs code. There is a check to see that a directory entry doesn't span more than one physical block -- if so, that's an error. Well if the directory entry just happened to end at the last byte of the block, the kernel throught it crossed into the next block and bailed out assuming the CD-ROM wasn't following the standard. The effect is that not only can't you access the file associated with this directory entry, you also can't see any files or directories located after that entry. This is relatively rare, because a series of directory entries must fit perfectly into a 2048 byte CD-ROM block for this to trigger. patch00041 PATCH: YANK FROM NAMED BUFFER AUTHOR: Bob Wilcox (bob@obiwan.uucp) -- bad: news.dell.com!udell!obiwan DESCRIPTION: The inability to use a named buffer was the result of three lines near the end of the tmpabort() function (in tmp.c) that unconditionally closed and unlinked the temp file. These three lines were not present in the distribution of elvis 1.5 that I had gotten back in April (from prep.ai.mit.edu, I believe). Deleting these lines seemed to have fixed this problem. patch00042 PATCH: OCCASIONAL NFS READ REQUEST HANG AUTHOR: Martin Renters (martin@innovis.com) DESCRIPTION: The problem is that nfs_readrpc() is sometimes called with the argument bp->b_rcred. This is only ever initialized to NOCRED (-1). The code in nfsm_reqh() doesn't check for NOCRED and simply uses whatever happens to be in memory at that location. patch00043 PATCH: MULTIBOARD ROUTING ON WESTERN DIGITAL BOARDS AUTHOR: Michael Galassi (nerd@percival.rain.com) DESCRIPTION: Allow routing between multiple Western Digital ethernet boards which are installed in the same host. patch00044 PATCH: ADD DAYLIGHT SAVINGS TIME HANDLING TO THE KERNEL AUTHOR: Arne Henrik Juul <arnej@lise.unit.no> DESCRIPTION: There is actually code in the kernel to allow for DST in the realtime (bios) clock, but (a) it has a little bug, and (b) it is #ifdef'd out. We now have the right timezone in the kernel (-1 dst) and in the BIOS too, and it actually works. patch00045 PATCH: FIXES SILO OVERFLOWS IF A 16550 IS INSTALLED AUTHOR: Rodney W. Grimes (rgrimes@agora.rain.com) DESCRIPTION: Here is a patch to fix silo overflows if you have 16550 uarts. The problem is due to the FIFO trigger level being set to 14 bytes. This only leaves 2 bytes after the interupt before it overflows. This is not enought time at high speeds. By changing the trigger level to 4 bytes I have had a 38400 baud line running full speed with out any silo overflows. patch00046 PATCH: FLOATING POINT FIXES (FSCALE, 0x1FD) AUTHOR: Ishii Masahiro, R. Kym Horsell (ishii@kmc.kyoto-u.ac.jp,kym@bingsuns.cc.binghamton.edu) DESCRIPTION: This is actually two patches in one. It fixes the Floating Point Emulation in two places. The first is for the 0x1fd instruction; the second is in Fscale. It is believed to fix the atof() function, among others, which normally fails on non-FPU machines. patch00047 PATCH: ENABLE 16 BIT TRANSFERS FOR WD8013 AUTHOR: Barry Lustig (barry@ictv.com) DESCRIPTION: Enable 16 bit transfers for the WD8013 "Combo board". This patch is kernel configuration optional -- that is, it will not take full effect (other than generic fixes) unless you modify your kernel configuration file and rerun "config". NOTE: Add "option WD8013" to enable this. Do NOT do this if you will have two or more wd boards, one of which is not a "Combo". patch00048 PATCH: FIX CPIO SYMLINK/HARDLINK BUG AUTHOR: Guy Harris (guy@auspex.com) DESCRIPTION: The "cpio" program has a bug which tells it to make hard links to symlinks that results in hard links being made to the target of the symlink, even if it's a directory, if you have permission to do so. patch00049 PATCH: FIX SECONDARY BOOT CHECKING WRONG STATUS AUTHOR: Robert D. Thrush (rd@phoenix.aii.com) DESCRIPTION: We've found a showstopper in the secondary boot (bootwd) for some DTK controllers that we tried to use. It appears to me that this may solve the problem that many have reported about not being able to boot from the hard disk after "install". At least, it has solved it for us. The problem occurs in /sys/i386/stand/wd.c. In wdinit() the controller is reset; however, the wrong register is tested for busy. On some controllers, this mis-test seems to cause no harm. However, it seems to hang forever on a few here. To replace the bootwd on your already "installed" hard disk, do something like the following: 1. Recompile "bootwd" in /usr/src/sys.386bsd/i386/stand. 2. Copy it over /usr/mdec/bootwd on the fixit.fs diskette. 3. Boot from this fixit.fs diskette. 4. Make the floppy writeable, ie. mount -u /dev/fd0a / 5. Obtain the existing hard disk label, ie. "disklabel -r wd0 >wd0.label" 6. Replace the primary and secondary boots via "disklabel -R -r wd0 wd0.label /usr/mdec/wdboot /usr/mdec/bootwd" NOTE: A binary of this bootwd is available by ftp from agate.berkeley.edu. patch00050 PATCH: FIX "SHELL GOES AWAY ON 'pwd'" BUG AUTHOR: Paul Kranenburg (pk@cs.few.eur.nl) DESCRIPTION: The problem is that the "getpwd()" was incorrectly longjmp'ed out of if "/bin/pwd" could not be run. patch00051 PATCH: FIX THE NEWVM "mempages" CALCULATION AUTHOR: David Greenman (davidg%implode@percy.rain.com) DESCRIPTION: The "ps" program incorrectly calculate the number of memory pages; it got a number NBPG (512?) times larger than it actually wanted. This could, of course, upset ps somewhat. patch00052 PATCH: CHANGE "vaddr" CALCULATION, MOVE BADLY PLACED "#endif" AUTHOR: David Greenman, Paul Kranenburg (davidg%implode@percy.rain.com,pk@cs.few.eur.nl) DESCRIPTION: Resident memory size (RSS) and %MEM have been corrected; the kernel namelist caching will now work (in conjunction with patch 00001). patch00053 PATCH: NFS KERNEL PATCH SET AUTHOR: Rick "gopher I" (root@snowhite.cis.uoguelph.ca) DESCRIPTION: Unofficial fixes for several nfs related problems: 1 - RFC1094 does not clarify what the semantics of a create rpc should be on the server when the file already exists. It appears that some recent versions of SunOS expect the file to be truncated to length 0 only if the size field of the setattr has been specified. (This semantic has not been clarified by anyone within Sun ONC engineering, although I have tried mailing them.) 2 - IBM AIX3.2 NFS clients expect a server to reply RPCPROG_MISMATCH to an rpc request sent to the nfs port (2049), but not nfs, in order to identify an AIX server. (The 386bsd.01 server simply dropped these requests on the floor, confusing AIX clients.) 3 - Some servers require that the nfs client use a reserved port number, which the 386bsd.01 client did not. (The is a crock, since requiring a reserved port number does not enhance nfs security significantly.) patch00054 PATCH: FIX "mountd" BUG IF SUBDIR OF LOCAL MOUNT POINT EXPORTED AUTHOR: Rick "gopher I" (root@snowhite.cis.uoguelph.ca) DESCRIPTION: /sbin/mountd went into an infinite loop when subdirs of local mount points were exported. patch00055 PATCH: CROCK WORKAROUND FOR HANG AFTER COPYRIGHT BUG AUTHOR: Frank MacLachlan (fpm@crash.cts.com) DESCRIPTION: On some systems, the boot process hangs after the copyright notice is displayed. This will "fix" the problem by placing two large delays in the admittedly broken keyboard reset code (the comment for the "pcprobe" and "pcattach" routines is "these are both bad jokes"). NOTE: This is just a workaround, and it isn't a crock because of any fault on Frank's part... the probe and attach routines need to be rewritten. One (anecdotal and without posted patches) fix to this problem that has been suggested with replacing them with the other boot codes keyboard reset code that performs the "Gate A20 hack". This is supposed to fix the problem; without patches or a way to repeat the problem, I'm stuck with it. patch00056 PATCH: MAKE *ALL* THE GAMES COMPILE AUTHOR: Terry Lambert (terry@icarus.weber.edu) DESCRIPTION: Congradulations! As a reward for wading this far through the patch kit, you get this patch. It will make it so you can compile all the games, including "fortune", which normally has a bug which will keep it from working on a machine that doesn't have re_comp() and re_exec(), even if you edit the makefile correctly. Enjoy! patch00057 PATCH: ADD THE "netstat" SOURCES TO 386BSD AUTHOR: Havard Eidnes (Havard.Eidnes@runit.sintef.no) DESCRIPTION: I've ported netstat from NET2 to 386bsd version 0.1. The changes are mostly involved with inserting #ifdefs for ISO, NS and IMP at the relevant places ("removing" that code, essentially), not compiling some of the modules (although the source remains toghether with comments in the Makefile) plus modifying the "unixpr()" routine in unix.c to traverse the open file table the new way. The "netstat -r" output looks a bit odd (although I guess this is the "new way"?), but gives the right information. NOTE: This is *NOT* a cannonical patch... these files are generated as initially modified from the NET2 sources to have Havard's fixes in them. A cannonical patch would include the original sources. For this reason, A patch level 0 has not been established for these files. After installation, you must type the following before building: ln -s /usr/obj/usr.bin/netstat /usr/src/usr.bin/netstat/obj A binary patch containing the installed executable and manual page is included after this patch, should you wish to avoid rebuilding it. Use binaries at your own risk. patch00058 PATCH: *** BINARY PATCH --- WARNING: USE ALL BINARIES AT OWN RISK *** "/usr/bin/netstat", "/usr/share/man/cat1/netstat.0" AUTHOR: Havard Eidnes (Havard.Eidnes@runit.sintef.no) DESCRIPTION: Binary and manual page for netstat command. ### ### EOF -- This file has not been truncated. ### ------------------------ cut here -------------------------- Terry Lambert terry@icarus.weber.edu terry_lambert@novell.com --- Any opinions in this posting are my own and not those of my present or previous employers. -- ------------------------------------------------------------------------------- "I have an 8 user poetic license" - me Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial -------------------------------------------------------------------------------