summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Fixed problem with "char" cursor..sos1995-05-213-6/+18
| | | | Submitted by: ache
* Now I could finally test this change: bad144 is now relative to thephk1995-05-211-4/+4
| | | | partition.
* NFS diskless operation was broken because swapdev_vp wasn't initialized.dg1995-05-196-19/+24
| | | | | | | These changes solve the problem in a general way by moving the initialization out of the individual fs_mountroot's and into swaponvp(). Submitted by: Poul-Henning Kamp
* Make the "information" slice printfs if(bootverbose).phk1995-05-182-20/+26
| | | | Fix the message about Ontrack.
* Added "BROKEN_KEYBOARD_RESET" option to disable using the keyboard resetdg1995-05-185-5/+23
| | | | | | in cpu_reset(). Some MBs don't deal with this properly. Submitted by: Rod Grimes
* Fixed a bug that managed to slip in during Poul's dynamic swap partitiondg1995-05-181-17/+11
| | | | | | | | changes. The check for nswap was bogus, but the code was so convoluted that it was difficult to tell. It's better now. :-) Reviewed by: David Greenman (extensively), and John Dyson Submitted by: Poul-Henning Kamp, w/tweaks by me.
* Accessing pages beyond the end of a mapped file results in internaldg1995-05-185-26/+37
| | | | | | | | | | | | | inconsistencies in the VM system that eventually lead to a panic. These changes fix the behavior to conform to the behavior in SunOS, which is to deny faults to pages beyond the EOF (returning SIGBUS). Internally, this is implemented by requiring faults to be within the object size boundaries. These changes exposed another bug, namely that passing in an offset to mmap when trying to map an unnamed anonymous region also results in internal inconsistencies. In this case, the offset is forced to zero. Reviewed by: John Dyson and others
* Changed read_csr and write_csr to static so that they don't clashdg1995-05-172-4/+4
| | | | | | | with another driver. Reviewed by: Paul Richards Submitted by: Brian Litzinger
* Reviewed by: phkbde1995-05-171-1/+1
| | | | | | | serial_putchar() always hung if it was called and the serial port existed, so booting with -h hung when the above bug was fixed. Previously, setting -h did nothing but -h was sometimes the default due to the stack garbage bug.
* Reviewed by: phkbde1995-05-171-0/+2
| | | | | | | Submitted by: DI. Christian Gusenbauer <cg@scotty.edvz.uni-linz.ac.at> The `howto' arg to boot() was not supplied, so it was stack garbage (actually the return address in the boot program). I didn't use the submitted fix.
* Fixes to the aic7xxx sequencer code and device driver from Justin Gibbs:dg1995-05-173-60/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) If a target initiated a sync negotiation with us and happened to chose a value above 15, the old code inadvertantly truncated it with an "& 0x0f". If the periferal picked something really bad like 0x32, you'd end up with an offset of 2 which would hang the drive since it didn't expect to ever get something so low. We now do a MIN(maxoffset, given_offset). 2) In the case of Wide cards, we were turning on sync transfers after a sucessfull wide negotiation. Now we leave the offset alone in the per target scratch space (which implies asyncronous transfers since we initialize it that way) until a syncronous negotation occurs. 3) We were advertizing a max offset of 15 instead of 8 for wide devices. 4) If the upper level SCSI code sent down a "SCSI_RESET", it would hang the system because we would end up sending a null command to the sequencer. Now we handle SCSI_RESET correctly by having the sequencer interrupt us when it is about to fill the message buffer so that we can fill it in ourselves. The sequencer will also "simulate" a command complete for these "message only" SCBs so that the kernel driver can finish up properly. The cdplay utility will send a "SCSI_REST" to the cdplayer if you use the reset command. 5) The code that handles SCSIINTs was broken in that if more than one type of error was true at once, we'd do outbs without the card being paused. The else clause after the busfree case was also an accident waiting to happen. I've now turned this into an if, else if, else type of thing, since in most cases when we handle one type of error, it should be okay to ignore the rest (ie if we have a SELTO, who cares if there was a parity error on the transaction?), but the section should really be rewritten after 2.0.5. This fix was the least obtrusive way to patch the problem. 6) Only tag either SDTR or WDTR negotiation on an SCB. The real problem is that I don't account for the case when an SCB that is tagged to do a particular type of negotiation completes or SELTOs (selection timeout) without the negotiation taking place, so the accounting of sdtrpending and wdtrpending gets screwed up. In the wide case, if we tag it to do both wdtr and sdtr, it only performs wdtr (since wdtr must occur first and we spread out the negotiation over two commands) so we always have sdtrpending set for that target and we never do a real SDTR. I fill properly fix the accounting after 2.0.5 goes out the door, but this works (as confirmed by Dan) on wide targets. Other stuff that is also included: 1) Don't do a bzero when recycling SCBs. The only thing that must explicitly be set to zero is the scb control byte which is done in ahc_get_scb. We also need to set the SG_list_pointer and SG_list_count to 0 for commands that do not transfer data. 2) Mask the interrupt type printout for the aic7870 case. The bit we were using to determine interrupt type is only valid for the aic7770. Submitted by: Justin Gibbs
* Changed relase number in snake_saver.c from 2.1 to 2.0.5sos1995-05-162-4/+4
|
* Changes to support the "new" bad144. Adds a "BADSCAN" ioctl and support.dg1995-05-164-7/+21
| | | | | Reviewed by: Bruce Evans Submitted by: Poul-Henning Kamp
* These diffs modify the behaviour of multicast clients to conform with thedg1995-05-161-8/+5
| | | | | | | | | | | IGMPv2 spec. This fixes the following bugs: o ntohs() on a char provides silly results o timer needs to be scaled to units of PR_FASTHZ; this was being done inconsistenly so now it gets done when it is initialized. Reviewed by: Garrett Wollman Submitted by: Bill Fenner <fenner@parc.xerox.com>
* Fixed route reference count bug that squirmed in during the thedg1995-05-151-2/+2
| | | | | | routing-socket code upgrade from Berkeley.. Submitted by: Garrett Wollman via Peter Wemm via Cornell
* Removed unnecessary extern declaration that was causing compiler warnings.dg1995-05-151-2/+1
| | | | Reviewed by: Garrett Wollman
* Removed extraneous comma.dg1995-05-153-6/+6
| | | | Reviewed by: Bruce Evans
* Fixed incompleteness that would allow dirty filesystems to get mounteddg1995-05-153-9/+25
| | | | | | | | | when the single user shell was terminated. These changes disallow mounting or R/W upgrading filesystems that are dirty unless "-f" (force) option is used with mount. /etc/rc has been modified to abort the startup if one or more non-nfs partitions fail to mount. Reviewed by: Poul-Henning Kamp, Rod Grimes
* From Bruce Evans:dg1995-05-151-2/+3
| | | | | | | | | | | | | | | | | | | I ran into another manifestation of the problem reported in PR 211 and fixed it. Try this: as non-root: cd /tmp; mkdir x y x/z as root: chown root /tmp/x/z as non-root: cd /tmp/x; mv z ../y # EACCES as expected as root: cd /tmp/x; mv z ../y # EINVAL NOT as expected This is because ufs_rename() sets IN_RENAME and fails to clear it. Reviewed by: davidg Submitted by: bde
* Added apersand constraint to make sure that the source and destinationdg1995-05-142-4/+4
| | | | | | | registers aren't combined. Reviewed by: Bruce Evans and David Greenman Submitted by: John Dyson
* Prototype for madvise() is missing from sys/mman.hnate1995-05-141-1/+2
| | | | Submitted by: Kai Vorma <vode@snakemail.hut.fi>
* Fix declaration of palette[] so that fade saver doesn't cause panics.bde1995-05-141-1/+1
|
* After carefully reading three reference documents, and analyzingdg1995-05-142-8/+8
| | | | | | | | | | | | | | | the 802.3 frames generated by the DC21040 (which does automatic padding of less-than-minimum frames) and the frames generated by the 'ed' driver, I've found that there is indeed a bug in the size of "ETHER_MIN_LEN" as reported by several people, John Hay being the most recent. The driver was actually setting the length to 6+6+2+50 (64 bytes), which when adding in the CRC (which is automatically appended to the frame and not included in the length), the minimum frame is 4 bytes larger than it is supposed to be. All of this is confirmed by tcpdump showing 50 bytes of data for minimum frames from the 'ed' cards and 46 bytes from 'de' cards. This analysis has also revealed that there is garbage in the un-filled in portion at the end of the minimum frames from the 'ed' driver; I don't plan to fix this.
* Changed swap partition handling/allocation so that it doesn'tdg1995-05-1418-302/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | require specific partitions be mentioned in the kernel config file ("swap on foo" is now obsolete). From Poul-Henning: The visible effect is this: As default, unless options "NSWAPDEV=23" is in your config, you will have four swap-devices. You can swapon(2) any block device you feel like, it doesn't have to be in the kernel config. There is a performance/resource win available by getting the NSWAPDEV right (but only if you have just one swap-device ??), but using that as default would be too restrictive. The invisible effect is that: Swap-handling disappears from the $arch part of the kernel. It gets a lot simpler (-145 lines) and cleaner. Reviewed by: John Dyson, David Greenman Submitted by: Poul-Henning Kamp, with minor changes by me.
* "1 easy fix in 10 excrutiating steps"jkh1995-05-132-4/+4
| | | | | A phone call from Manfred quickly pointed up the fact that I got the conflict check backwards. NOW we implement the conflict checking correctly! Wheesh!
* Only use card's soft-configured irq if no irq was specified in the kerneldg1995-05-122-10/+14
| | | | | config file. This should fix a number of complaints regarding the auto detection behavior.
* pread/pwrite() should be static.dg1995-05-121-3/+3
| | | | Submitted by: sef
* Fix getsockopt(IP_ACCT_*) to not panic kernelache1995-05-121-3/+2
| | | | Submitted by: Bill Fenner <fenner@parc.xerox.com>
* The death of `options NODUMP'. Now the dump area can be dynamicallywollman1995-05-128-27/+81
| | | | | configured (and unconfigured) on the fly. A sysctl(3) MIB variable is provided to inspect and modify the dump device setting.
* - Add an entry to allow swapping on a vn device (if one is configured).wpaul1995-05-121-3/+22
| | | | | | | - Do the right thing when booting in NFS diskless mode, which is nothing. Make the default unconfigured entries for swdevt[0] and dumplo something that swapconf() will ignore and not choke on (the swap setup is done in nfs_vfsops.c when booting diskless).
* Add 'rc' lineache1995-05-123-3/+9
|
* RISCom/8 driverache1995-05-126-0/+3364
|
* Increased ratio of allowed vnodes on freelist to 1/4th of the total. Thisdg1995-05-122-6/+6
| | | | | | | | is more representative of worst case situations of 4 files/directory. (If that last sentence doesn't make any sense, I'm not surprised. It's rather compilcated how this all fits together....). This should fix a problem that Ed Hudson has been complaining about where directories with lots of symlinks could cause excessive disk I/O.
* I'm about to jump on the swap-initialization, and having talkedphk1995-05-121-132/+1
| | | | | | | | | | | | | | | with davidg about it, I hereby kill two undocumented misfeatures: The code to skip a miniroot in the swapdev is not particular useful, and if we need it we need it to be done properly, ie size the fs and skip all of it not some hardcoded size, and subtract what we skip from the length in the first place. The SEQSWAP dies too. It's not the way to do it, it doesn't work, and nobody have expressed any great desire for it to work. The way to implement it correctly would be a second argument to swapon(2) to give a priority/policy information. Low priority swapdevs can be made so by adding them at a far offset (0x80000000 kind of thing), with almost no modification to the strategy routine (in particular a offset per swapdev). But until the need is obvious, it will not be done.
* Add some more defines that don't change the genericness of a file.wollman1995-05-111-0/+20
|
* Make `make links' work by leaving swapkernel.c off out of the links processingwollman1995-05-113-9/+9
| | | | (it is never generic).
* Fix -Wformat warnings from LINT kernel.rgrimes1995-05-1132-89/+113
|
* Use spc, not spt, DUH! Thanks Bruce!phk1995-05-111-2/+2
| | | | Submitted by: bde
* Define _POSIX_VDISABLE so that it can be used in #if expressions.bde1995-05-113-7/+7
|
* Add variable `idelayed' and macros setdelayed() and schedsofttty()bde1995-05-116-6/+40
| | | | | | | | | | | | to access it. setdelayed() actually ORs the bits in `idelayed' into `ipending' and clears `idelayed'. Call setdelayed() every (normal) clock tick to convert delayed interrupts into pending ones. Drivers can set bits in `idelayed' at any time to schedule an interrupt at the next clock tick. This is more efficient than calling timeout(). Currently only software interrupts can be scheduled.
* Move conflicts flag to the end.jkh1995-05-111-2/+2
|
* Add loadandclear(). It atomically loads a value from memory, clears thebde1995-05-112-2/+24
| | | | value in memory and returns the original value.
* Pass me the pointed chapeau - this typo somehow got through my testing.jkh1995-05-112-4/+4
|
* If you config a kernel with 'config kernel swap generic' and try towpaul1995-05-112-4/+4
| | | | | | | | boot diskless with it, you get a panic because setconf() is only called for mountroot == ffs_mountroot. It really needs to be called no matter what manner of rootfs we have. I can't really say if swapgeneric will work with a CD-ROM though. (I get the feeling I'm the only one who uses swapgeneric these days anyway.)
* Remove all vestiges of the ALLOW_CONFLICT_FOO evil and replace it withjkh1995-05-116-100/+41
| | | | something slightly less evil - a per device conflict flag.
* #ifdef'd my Nagel/ACK hack with "TCP_ACK_HACK", disabled by default. I'mdg1995-05-112-2/+48
| | | | | | | | currently considering reducing the TCP fasttimo to 100ms to help improve things, but this would be done as a seperate step at some point in the future. This was done because it was causing some sometimes serious performance problems with T/TCP.
* Delete two debugging printfs that mistakenly crept in.wollman1995-05-113-6/+3
|
* Make networking domains drop-ins, through the magic of GNU ld. (Some day,wollman1995-05-1118-100/+147
| | | | | | there may even be LKMs.) Also, change the internal name of `unixdomain' to `localdomain' since AF_LOCAL is now the preferred name of this family. Declare netisr correctly and in the right place.
* Unlock the vnode before sleeping on an OBJ_DEAD object. Should fix Bruce'sdg1995-05-101-15/+16
| | | | hang. Fixed some formatting anomolies and removed some unneeded casts.
* Changed "handle" from type caddr_t to void *; "handle" is several differentdg1995-05-108-19/+19
| | | | types of pointers, and "char *" is a bad choice for the type.
OpenPOWER on IntegriCloud