summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Updates for the ThunderLAN driver:wpaul1998-08-032-32/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - probe for PHYs by checking the BMSR (phy status) register instead of the vendor ID register. - fix the autonegotiation routine so that it figures out the autonegotiated modes correctly. - add tweaks to support the Olicom OC-2326 now that I've actually had a chance to test one o Olicom appears to encode the ethernet address in the EEPROM in 16-bit chunks in network byte order. If we detect an Olicom card (based on the PCI vendor ID), byte-swap the station address accordingly. XXX The Linux driver does not do this. I find this odd since the README from the Linux driver indicates that patches to support the Olicom cards came from somebody at Olicom; you'd think if anyone would get that right, it'd be them. Regardless, I accepted the word of the disgnoatic program that came bundled with the card as gospel and fixed the attach routine to make the station address match what it says. o The version of the 2326 card that I got for testing is a strange beast: the card does not look like the picture on the box in which it was packed. For one thing, the picture shows what looks like an external NS 83840A PHY, but the actual card doesn't have one. The card has a TNETE100APCM chip, which appears to have not only the usual internal tlan 10Mbps PHY at MII address 32, but also a 10/100 PHY at MII address 0. Curiously, this PHY's vendor and device ID registers always return 0x0000. I suspect that this is a mutant version of the ThunderLAN chip with 100Mbps support. This combination behaves a little strangely and required the following changes: - The internal PHY has to be enabled in tl_softreset(). - The internal PHY doesn't seem to come to life after detecting the 100Mbps PHY unless it's reset twice. - If you want to use 100Mbps modes, you have to isolate the internal PHY. - If you want to use 10Mbps modes, you have to un-isolate the internal PHY. The latter two changes are handled at the end of tl_init(): if the PHY vendor ID is 0x0000 (which should not be possible if we have a real external PHY), then tl_init() forces the internal PHY's BMCR register to the proper values.
* Add the ISP Qlogic SCSI card to the list of known devices.gpalmer1998-08-021-2/+4
|
* Added 82555B support for media status.dg1998-08-022-2/+4
|
* Reordered fxp_softc for optimal cacheline behavior.dg1998-08-022-16/+20
|
* Killed unused variable/assignment.dg1998-08-022-4/+2
|
* Sync with sys/i386/boot/netboot/main.c revision 1.23.kato1998-08-011-0/+1
|
* If we get an ENOBUFS from the network, it's normally transient networkpeter1998-08-013-3/+33
| | | | | | | | | interface congestion (eg: nfs over a ppp link, etc). Don't log these for UDP mounts, and don't cause syscalls to fail with EINTR. This stops the 'nfs send error 55' warnings. If the error is because the system is really hosed, this is the least of your problems...
* Fix a compile error if IPFIREWALL_FORWARD active without IPDIVERT.peter1998-08-011-3/+2
|
* Cosmetic change to driver registration.dfr1998-07-313-6/+6
|
* Make it possible to have a driver registered with more than one parent bus.dfr1998-07-311-16/+17
|
* Only perform byte/word accesses in the correct EV56 memory space.dfr1998-07-311-78/+69
| | | | | | Sparse macros have moved to <machine/swiz.h>. Fix sparse memory access so that it actually works as intended. Tidy up sparse configuration access slightly.
* Add definitions of EV56 INT1/INT2/INT4/INT8 memory spaces.dfr1998-07-311-1/+9
|
* Merge with i386/isa/diskslice_machdep.c 1.30dfr1998-07-311-32/+14
|
* TFTP_ACK goes to port 69 (default tftp port) and tftpd says 'Timeout'.phk1998-07-311-0/+1
| | | | | | | | It will be sent to source port of received packet. PR: 7442 Reviewed by: phk Submitted by: Sergey Shkonda <serg@bcs.zp.ua>
* In sys/scsi/st.c, st_close() does not check for errors from callingphk1998-07-311-3/+4
| | | | | | | | | | st_write_filemarks(). This means that it is possible to write a file on the tape for which all the writes and the close return without errors, but the all bits did not make it onto the tape. PR: 741 Reviewed by: phk Submitted by: Andrew Heybey <ath@niksun.com>
* Fixed printf format errors.bde1998-07-308-80/+94
|
* Fixed printf format errors.bde1998-07-302-4/+4
|
* Use the slice interfaces for SCSI cdroms. This centralizes handlingbde1998-07-301-203/+115
| | | | | | | | | | | of some disk ioctls and uniformizes bounds checking in the strategy routine. EOF handling got fixed as a side effect. The changes are similar to old changes for SCSI disks, except slices and labels are not searched for on the disk and the in-core label has a few more details (mostly just for backwards compatibility). Bugs in the in-core label had to be fixed to get dsopen() to accept it. The slice interfaces had to support large sectors for all this to work.
* Added a flags arg to dsopen() and updated drivers. The DSO_ONESLICEbde1998-07-309-36/+53
| | | | | | | | | | | and DSO_NOLABELS flags prevent searching for slices and labels respectively. Current drivers don't set these flags. When DSO_NOLABELS is set, the in-core label for the whole disk is cloned to create an in-core label for each slice. This gives the correct result (a good in-core label for the compatibility slice) if DSO_ONESLICE is set or only one slice is found, but usually gives broken labels otherwise, so DSO_ONESLICE should be set if DSO_NOLABELS is set.
* Sync with sys/i386/isa/fd.c revision 1.120.kato1998-07-302-114/+124
|
* Change load address to 0xfffffc0000300000 to help support AS200.dfr1998-07-306-9/+9
|
* Remove spurious printf.dfr1998-07-301-2/+1
|
* add anti-panic workaround from chris radek (cradek@in221.inetnebr.com)julian1998-07-302-0/+4
| | | | Not sure why this is needed but but does stop crashes.
* Typo fix: teh --> (the|they)alex1998-07-304-7/+7
|
* Fixed sign extension bugs awoken by changing speed_t to an unsignedbde1998-07-293-6/+12
| | | | | | | type. 19200, 1200 and other relatively uninteresting speeds were broken. Submitted by: Rob Mallory <rmallory@qualcomm.com>
* Only access an int for READU/WRITEU since that is what ptrace is declared todfr1998-07-291-2/+2
| | | | return.
* Default to FreeBSD if no brand detected. This makes life easier whendfr1998-07-291-5/+12
| | | | bootstrapping from NetBSD/alpha.
* Fix msgbuf so that it actually works properly.dfr1998-07-292-22/+3
|
* Fixed printf format errors.bde1998-07-295-61/+68
|
* Fixed print format errors.bde1998-07-2911-116/+131
|
* Fixed printf format errors.bde1998-07-292-18/+22
| | | | | Use offsetof() instead of null pointer hacks. Use a home made offsetof() because including <stddef.h> is not permitted in LKMs.
* Honor NOSHARED for tools. All tools should be built static forbde1998-07-291-5/+9
| | | | | | | | | | | `make world' to avoid problems with picking up (new) target or (stale) host shared libraries. Don't honor -static in LDFLAGS for linking LKMs. LDFLAGS is not actually for ld, but we use it anyway, and must prevent -static being misinterpreted as -s. Don't hide any of the link steps.
* Fixed error handling:bde1998-07-295-170/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Call isa_dmadone() whenever necessary to stop DMA and/or free bounce buffers. Undead DMA corrupted the malloc freelist fairly consistently in the following configuration: SLICE kernel, 2 floppy drives, no disk in fd0, disk in fd1. - Don't call fdc_reset() from fd_timeout(). Doing so gave an "extra" interrupt which was usually misinterpreted as being for completion of the next FDC command; the interrupt for completion of the next FDC command was then usually misinterpreted... There were further complications for interrupts latched by the soft-spl mechanism so that they were delivered after all the h/w interrupts went away. This caused at least wrong head settle delays and may be why the FreeBSD floppy driver seems to munch floppies more than most floppy drivers. The reset was unnecessary anyway in cases that didn't have the bug described next, since is was repeated a little later for the IOTIMEDOUT state. The state machine has complications to handle resets correctly, so just use it. - Don't call retrier() from fd_timeout(). The IOTIMEDOUT state needs to be processed next, and it isn't valid to set to that state if retrier() has aborted the current transfer. Doing so caused null pointer panics after the previous bug was fixed. Improved error handling: - If an i/o is aborted, arrange to reset in the state machine before doing the next i/o. New fdc flag for this. This fixes spurious warnings and lengthy busy-waiting for the next i/o. - Split STARTRECAL into RESETCOMPLETE and STARTRECAL and only check for the results from reset if we actually reset. This fixes spurious warnings for other paths to STARTRECAL. [Oops, it may break reset handling for motor-off resets.] Cleanups in fd_timeout(): - Renamed to fd_iotimeout() to make it clearer that it is only used for i/o. - Don't handle the bp == 0 case. This case can't happen for i/o. - Don't check for controller-busy. We know it must be. - Don't print anything. retrier() already prints too much for normal errors. - Fudge the state differently so that the state machine advances fdc->retry and the status is invalid (perhaps this should fudge a valid state like the one for WP). - Style fixes.
* Centralized and optimized handling of large sectors. Centralizedbde1998-07-294-142/+85
| | | | | | | checking of transfer sizes and alignments. Old version tested with 2K-sectors on od disks by: Shunsuke Akiyama <akiyama@kme.mei.co.jp>.
* Use the slice-relative blkno in all parts of the label writebde1998-07-291-3/+3
| | | | | | protection checks. Using the partition-relative blkno in some parts broke the write protection for partitions at unusual offsets (only for partitions at offset 1 on i386's).
* update ATM driver. (base version: midway.c 1.67 --> 1.68)kjc1998-07-297-273/+1053
| | | | | | | | | | | | | | | | | | | | | | | several new features are added: - support vc/vp shaping - support pvc shadow interface code cleanup: - remove WMAYBE related code. ENI WMAYBE DMA doen't work. - remove updating if_lastchange for every packet. - BPF related code is moved to midway.c as it should be. (bpfwrite should work if atm_pseudohdr and LLC/SNAP are prepended.) - BPF link type is changed to DLT_ATM_RFC1483. BPF now understands only LLC/SNAP!! (because bpf can't handle variable link header length.) It is recommended to use LLC/SNAP instead of NULL encapsulation for various reasons. (BPF, IPv6, interoperability, etc.) the code has been used for months in ALTQ and KAME IPv6. OKed by phk long time ago.
* Make the logging of abnormally exiting processes optional by a sysctl.joerg1998-07-282-8/+15
| | | | | PR: kern/1711 Submitted by: Nick Sayer <nsayer@kfu.com>
* pseudo-device ssc requires su.c (pseudo-device su)brian1998-07-281-0/+1
| | | | | Submitted by: woods@zeus.leitch.com (Greg A. Woods) PR: 7413
* Set bp->b_resid for failed transfers in dscheck(). This is thebde1998-07-281-1/+2
| | | | | | | | best place to set it, and the wd and wfd strategy routines don't set it (for failed transfers) because they expect dscheck() to initialize everything necessary. dscheck() has always set B_ERROR, but this is not quite sufficient, because b_resid is used by physio() to decide how much of a B_ERROR'ed i/o was done.
* Set the disk type to SCSI in the in-core label for the whole disk.bde1998-07-282-2/+4
|
* Used daddr_t's, not ints, to store disk block numbers. Updated printfbde1998-07-282-18/+22
| | | | | | | | formats and args to match. Fixed old printf format errors (all related; most were hidden by calling printf indirectly). This change somehow avoids compiler bugs for 64-bit longs on i386's, although it increases the number of 64-bit calculations.
* Set p->p_switchtime to switchtime instead of to the current time inbde1998-07-283-3/+33
| | | | | | | | | | | | | fork_trampoline() if switchtime is valid. This fixes not accounting for the time between the previous context switch and and the current time (when the forked child starts up here) in most cases - the time is now counted in the child's runtime. I think it actually fixes all cases, and switchtime is always valid here, since there must have been a context switch just before the forked child starts up. Some code should be removed if this is correct. The check that switchtime is valid sometimes gives a false negative because the check isn't correct until the after the first context switch after the system has been up for >= 1 second.
* Micro-optimized and cleaned up the clearing of switchtime in idle().bde1998-07-283-36/+24
| | | | Cleaned up the conditionals in the disgusting SMP ifdef in idle().
* Fixed two spl nesting bugs. They caused (at least) the entire pageoutbde1998-07-281-2/+2
| | | | | | | daemon to run at splvm() forever after swap_pager_putpages() is called from vm_pageout_scan(). Broken in: rev.1.189 (1998/02/23)
* u_int --> unsigned int, remove (now unneeded) <sys/types.h>jlemon1998-07-282-6/+6
|
* Record the new physical address of the pcb in pmap_swapin_proc.dfr1998-07-281-11/+18
| | | | Third attempt at pmap_remove(). This one actually works properly :-).
* I have a PD drive (Matsushita PD/CD Drive LF-1600).phk1998-07-281-2/+2
| | | | | | | | | | The machine can not recognize this PD drive as neither PD drive nor CD-ROM Drive. So I can not use CD-ROMs and PDs from FreeBSD. PR: 7423 Reviewed by: phk Submitted by: Takura Koyama <takura@popweb.ne.jp>
* Add wrappers for i386_*_ioperm, i386_vm86 so userland code doesjlemon1998-07-282-2/+8
| | | | | not have to call sysarch() directly. Added man pages for above, as well as sysarch()
* Fix an off-by-one error when setting the iomap bits.jlemon1998-07-282-10/+10
| | | | | Change struct i386_*_iomap to use ints instead of shorts/chars. (pointed out by bde long ago, prodded into action by msmith)
* Style fixes and a bug fix: don't remove the exit handler if unmountalex1998-07-272-10/+12
| | | | | | fails. Submitted by: bde
OpenPOWER on IntegriCloud