summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Add comments, change variable names to make them consistent (r -> err,n_hibma1999-07-2511-155/+173
| | | | timo_handle -> timeout_handle, p -> pipe, *pipe -> *rpipe, etc.)
* On FPU exceptions, pass a useful error code (one of the FPE_...cracauer1999-07-2514-119/+705
| | | | | | | | | | | | | | | | macros) to the signal handler, for old-style BSD signal handlers as the second (int) argument, for SA_SIGINFO signal handlers as siginfo_t->si_code. This is source-compatible with Solaris, except that we have no <siginfo.h> (which isn't even mentioned in POSIX 1003.1b). An rather complete example program is at http://www3.cons.org/cracauer/freebsd-signal.c This will be added to the regression tests in src/. This commit also adds code to disable the (hardware) FPU from userconfig, so that you can use a software FP emulator on a machine that has hardware floating point. See LINT.
* Make this compile on the Alpha. I'm not 100% sure about this but Ipeter1999-07-252-38/+4
| | | | | think it's ok. ti_bhandle is fetched from newbus on both the Alpha and x86, the Alpha-only ti_vhandle is gone.
* Remember to clear the IFF_RUNNING and IFF_OACTIVE flags in sf_stop() andwpaul1999-07-254-8/+26
| | | | sk_stop().
* This commit adds device driver support for Adaptec Duralink PCI fastwpaul1999-07-2515-11/+6082
| | | | | | | | | | | | | | | | | | | | | ethernet controllers based on the AIC-6915 "Starfire" controller chip. There are single port, dual port and quad port cards, plus one 100baseFX card. All are 64-bit PCI devices, except one single port model. The Starfire would be a very nice chip were it not for the fact that receive buffers have to be longword aligned. This requires buffer copying in order to achieve proper payload alignment on the alpha. Payload alignment is enforced on both the alpha and x86 platforms. The Starfire has several different DMA descriptor formats and transfer mechanisms. This driver uses frame descriptors for transmission which can address up to 14 packet fragments, and a single fragment descriptor for receive. It also uses the producer/consumer model and completion queues for both transmit and receive. The transmit ring has 128 descriptors and the receive ring has 256. This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus so that it can be compiled as a loadable kernel module. Support for BPF and hardware multicast filtering is included.
* Don't set DE_ACCESS for unsuccessful reads.bde1999-07-252-16/+24
| | | | | | | | | | Translated from: a similar fix in ufs_readwrite.c rev.1.61. Don't forget to set DE_ACCESS for short reads. Check for invalid (negative) offsets before checking for reads of 0 bytes, as in ufs, although checking for invalid offsets at all is probably a bug.
* Don't set IN_ACCESS for requests to read 0 bytes or for unsuccessful reads.bde1999-07-252-4/+8
| | | | | | Translated from: similar fixes in ufs_readwrite.c rev.1.61. Things are simpler (but annoyingly different) here because there are no vm optimisations.
* Fixed access timestamp bugs:bde1999-07-251-5/+17
| | | | | | | | | | Set IN_ACCESS for successful reads of 0 bytes (except for requests to read 0 bytes). This was broken in rev.1.42. PR: misc/10148 Don't set IN_ACCESS for requests to read 0 bytes. Don't set IN_ACCESS for unsuccessful reads.
* 3C574TX 16bit FastEtherlink PC-card support.hosokawa1999-07-254-12/+80
| | | | | Reviewed by: HAMADA Naoki <nao@tom-yam.or.jp> Submitted by: Osamu MIHARA <mihara@prd.fc.nec.co.jp>
* Increased max kmem to 200MB. This should fix some out-of-kmem panics ondg1999-07-242-4/+4
| | | | large systems.
* Add mx and ax modules for the Macronix and ASIX drivers and update thewpaul1999-07-243-3/+60
| | | | modules Makefile so they get built.
* Convert the ASIX and Macronix drivers to newbus.wpaul1999-07-244-341/+384
|
* Oops, the previous commit only worked in the one case it was tested for.bde1999-07-242-4/+6
|
* Update intpm driver.nsouch1999-07-241-6/+17
| | | | | PR: kern/12631 Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
* Recognise NetBSD slices.rnordier1999-07-241-3/+4
| | | | | Submitted by : Lars Koeller <lkoeller@cc.fh-lippe.de> PR : 12772
* - Correctly initialize cn_dev_t and cn_udev_t.yokota1999-07-243-13/+19
| | | | | | - Add D_TTY for alpha. Reviewed by: bde, dfr
* Do not print resource values which are not set.yokota1999-07-241-7/+7
| | | | Reviewed by: dfr
* This makes the in kernel printf routines conform to the documenteddfr1999-07-245-29/+42
| | | | | | behavior of their userland counterparts with respect to return values. Submitted by: Matthew N. Dodd <winter@jurai.net>
* atomic.h:alc1999-07-236-35/+14
| | | | | | | | | | | | | | | | | Change "void *" to "volatile TYPE *", improving type safety and eliminating some warnings (e.g., mp_machdep.c rev 1.106). cpufunc.h: Eliminate setbits. As defined, it's not precisely correct; and it's redundant. (Use atomic_set_int instead.) ipl_funcs.c: Use atomic_set_int instead of setbits. systm.h: Include atomic.h. Reviewed by: bde
* fix a problem w/ zero byte writes to the tunnel device. It would bypassjmg1999-07-231-1/+1
| | | | | | | | | | the loop and not set an error, so we would then try to access an invalid mbuf... PR: 12780 Submitted by: bright@rush.net aka zb^3 a new record in length a pr was open... only about a half hour...
* Clean up the buffer allocation code a bit. Make sure to initialize certainwpaul1999-07-234-58/+64
| | | | | | | | | | | critical mbuf fields to sane values. Simplify the use of ETHER_ALIGN to enforce payload alignment, and turn it on on the x86 as well as alpha since it helps with NFS which wants the payload to be longword aligned even though the hardware doesn't require it. This fixes a problem with the ti driver causing an unaligned access trap on the Alpha due to m_adj() sometimes not setting the alignment correctly because of incomplete mbuf initialization.
* Grrr. Return the rman_get_bustag()/rman_get_bushandle() lines to theirwpaul1999-07-232-4/+10
| | | | | proper place in ti_attach(). I'm positive I typed them in there, but they must have fallen victim to a drive-by cut & pasting.
* One last tweak before I turn in for the evening: the driver name inwpaul1999-07-232-6/+6
| | | | | | the driver_t declaration should be "skc" not "sk". Technically, "skc" is the parent PCI device (the SysKonnect GEnesis controller) and "sk0" and "sk1" are the network interfaces that get attached to it.
* Create module directories for the xl, ti, tl and sk drivers and addwpaul1999-07-235-2/+117
| | | | them to the Makefile so that modules will be generated for /modules.
* Dangit. Somehow the pmap_kextract hack for alpha snuck back into thesewpaul1999-07-236-20/+14
| | | | | | files. Change them back to alpha_XXX_dmamap(). Pointed out by: Andrew Gallatin
* Convert the Alteon Tigon gigabit ethernet driver to newbus. Also upgradewpaul1999-07-238-6584/+6680
| | | | to the latest firmware release from Alteon (12.3.12).
* Some more small newbus cleanups. Remember to free all resources in casewpaul1999-07-234-72/+92
| | | | of failures in foo_attach(), simplify iospace/memspace things a little.
* Revert out part of the last patch that can be done better elsewhere.julian1999-07-221-8/+4
| | | | The complexity added isn't worth it.
* Remove the definitions for the SiS 900 chip. This is not a RealTekwpaul1999-07-222-17/+4
| | | | | clone after all. I have the datasheets for this part; hopefully I can write a proper driver soon.
* fix braino..julian1999-07-221-2/+2
| | | | | | accidentally replaced PAGE_MASK with PAGE_SIZE. (PAGE_MASK is PAGE_SIZE - 1) bug does not manifest itself on our hardware.....
* Well, it seems that loading a PCI driver module after the system haswpaul1999-07-222-3/+12
| | | | | | | | | been booted works too -- very neat. However I don't want the system to stop for 5 seconds when the MII autoprobe is triggered in the xl and tl drivers since that's lame. Instead, only use the hard delay when we've been cold booted. If not, use the timeout mechanism instead. (The SysKonnect driver doesn't use the same autonegotiation scheme, so no change is required there.)
* Convert the ThunderLAN driver to newbus. Also add splimp() protection towpaul1999-07-222-82/+166
| | | | tl_stats_update().
* Fix a small mind-o: one instance of SYS_RES_IOPORT should have beenwpaul1999-07-222-6/+6
| | | | SYS_RES_MEMOTY in sk_detatch().
* Add braces to make if-else statement clearer.iwasaki1999-07-222-8/+12
| | | | | PR: 12663 Submitted by: Adam Wight <adamw@holonet.net>
* Modify device numbering method to work with latest -CURRENT. Briefly,grog1999-07-222-11/+15
| | | | | | | | | the device numbers are now minor number only, so that we can still compare them after dev_t has turned into a blob. Broken-by: dev_t changes Reported-by: Vallo Kallaste <vallo@matti.ee> "Niels Chr. Bank-Pedersen" <ncbp@bank-pedersen.dk>
* Reduce the number of "magic constants" used for page coloringalc1999-07-226-17/+11
| | | | | by one: PQ_PRIME2 and PQ_PRIME3 are used to accomplish the same thing at different places in the kernel. Drop PQ_PRIME3.
* Convert the SysKonnect gigabit ethernet driver to newbus.wpaul1999-07-224-154/+262
|
* Small tweak to newbus changes: return error status on failure correctlywpaul1999-07-221-2/+2
| | | | | in xl_attach() (not a problem if the attach never fails, but if it does the function would still return 0, which is wrong).
* Make mountroot work again (change makedev to makebdev).dfr1999-07-211-3/+4
|
* Fix the following problem:alc1999-07-217-16/+55
| | | | | | | | | | | | | | | | When creating new processes (or performing exec), the new page directory is initialized too early. The kernel might grow before p_vmspace is initialized for the new process. Since pmap_growkernel doesn't yet know about the new page directory, it isn't updated, and subsequent use causes a failure. The fix is (1) to clear p_vmspace early, to stop pmap_growkernel from stomping on memory, and (2) to defer part of the initialization of new page directories until p_vmspace is initialized. PR: kern/12378 Submitted by: tegge Reviewed by: dfr
* Fixed missing changes from sys/pc98/pc98/pc98.c when new-bus was integrated.nyan1999-07-212-2/+44
| | | | | | | - In isa_dmastart() and isa_dmadone(), cache flush. - Correct current word register address. Submitted by (partial): Toshikazu Kaho <kaho@elam.kais.kyoto-u.ac.jp>
* Remove the RCS "Log" and all the verbiage it has generated.phk1999-07-2120-2608/+24
|
* Hack to work around a NULL pointer dereferencation that can be triggeredjoerg1999-07-212-2/+10
| | | | | | | | by removing a floppy that as being operated on. The spagghetti is hardly understandable at all anymore, so i can't 100 % ascertain this is really the Right Thing to do, maybe our new floppy driver maintainer, Jesus Monroy Jr can do this. :-))
* Hopefully make the CMD640B workaround actually work.peter1999-07-211-9/+6
|
* Walk around the end of all the silly guessing of device types and unitmsmith1999-07-216-9/+108
| | | | | | | numbers that we have been doing in the past, and read /etc/fstab off the proposed root filesystem to determine the actual device name and vfs type for the root filesystem. These are then exported to the kernel via the environment variable vfs.root.mountfrom.
* Slight cleanups of the Cyrix 5530 UDMA code.julian1999-07-201-100/+125
| | | | | | Also includes a workaround fro an apparent chip bug where UDMA mode 2 can overpower the UDMA engine enough that it will hog the PCI bus to the exclusion of the processor.
* Fix a REALLY embarrassing mistake. Don't look; I warned you.green1999-07-201-2/+2
|
* Make a dev2budev() function, and use it. This refixes pstat (working, broken,green1999-07-204-9/+16
| | | | | | | working, broken, working) and savecore (working, working, broken, working, working). Sorta Reviewed by: phk
* Convert the xl driver to newbus. It is now possible to make this driverwpaul1999-07-202-88/+127
| | | | | | | | | | into a loadable module, and all of the platform dependencies are gone (except for the alpha_XXX_dmamap() thing, which is another issue -- I still don't know how to use the busdma stuff with a network driver). Also increase the delay in xl_reset(); testing on a 486/66 with a 3c905C shows that reading the EEPROM fails immediately after a reset. Waiting a little longer after the reset completes seems to fix it.
* dev2udev() returns a CDEV udev_t, but we use block io in savecore. Savecoregreen1999-07-201-2/+5
| | | | | | | also gets the device by st_rdev, which is alright except for the fact that the sysctl kern.dumpdev passed out a char device. This is a workaround. Sorry for not committing the fix earlier, before people started having problems.
OpenPOWER on IntegriCloud