summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Use the M_ZERO flag to malloc(9)greid2001-06-2121-64/+32
| | | | | Reviewed by: cg MFC after: 1 week
* Don't dereference NULL regs pointer (should mapping I/O ports fail, asmjacob2001-06-211-6/+7
| | | | | | | they did for me on an alpha) Approved by: gibbs@freebsd.org MFC after: 2 days
* Cosmetics:joerg2001-06-201-33/+3
| | | | | | | | | | . staticize out_fdc(), there's no longer an ft(4) driver sharing its use . remove in_fdc(), has been used by ft(4) last time, long since obsoleted by fd_in() . move the declaration of fd_clone() to where most of the other function declarations are . de-__P()ify fd_clone(), it's been the only _P()ed function in the entire file
* Change m_devget()'s outdated and unused `offset' argument to actually meanbmilekic2001-06-207-22/+13
| | | | | | | | | | | | | | | | | | | | something: offset into the first mbuf of the target chain before copying the source data over. Make drivers using m_devget() with a first argument "data - ETHER_ALIGN" to use the offset argument to pass ETHER_ALIGN in. The way it was previously done is potentially dangerous if the source data was at the top of a page and the offset caused the previous page to be copied (if the previous page has not yet been appropriately mapped). The old `offset' argument in m_devget() is not used anywhere (it's always 0) and dates back to ~1995 (and earlier?) when support for ethernet trailers existed. With that support gone, it was merely collecting dust. Tested on alpha by: jlemon Partially submitted by: jlemon Reviewed by: jlemon MFC after: 3 weeks
* Applied the patch to fix HARP ATM that was broken when KAME IPv6 camepirzyk2001-06-202-1/+4
| | | | | | | | into FreeBSD. PR: kern/23620 Submitted by: rh@matriplex.com MFC after: 1 month
* The serial console break-to-debugger support only functioned whileiedowse2001-06-201-1/+21
| | | | | | | | | | | | | | the console device was open. At other times, the interrupts that are used to detect the break signal or ~^B sequence were disabled, so these events would not be noticed until the next open (e.g. the next kernel printf). This was mainly a problem while there was no getty running on the console, such as during bootup or shutdown. For serial consoles with break-to-debugger support, we now enable the generation of interrupts at attach time, and we leave them enabled while the device is closed. Reviewed by: bde (I've since made chages as per his suggestions)
* Allow individual ports to use alternate pin settings (swap dsr & cd)brian2001-06-202-12/+89
| | | | | | | | | | | via the new DIGIIO_SETALTPIN ioctl, and allow the port's ALTPIN setting to be queried via DIGIIO_GETALTPIN. The initial state and lock devices are normally used to set and/or lock ALTPIN settings although the device itself may also be used. ALTPIN settings are applied per-device and apply to both the callin and callout device at the same time.
* Revert last change: it was unintended at this time.imp2001-06-201-31/+37
|
* Add new entries for:imp2001-06-202-38/+35
| | | | | | | TI1210, TI4410 and TI4450 and fix what looks like a typo in the OZ6860 entry. Obtained from: NetBSD
* Fix some memory bugs with regard to jumbo buffers. I made a mistake whenwpaul2001-06-184-16/+10
| | | | | | | | | | converting from the old external mbuf buffer code to the new (with the MEXTADD() macro). Also free free list memory correctly in foo_free_jumbo_mem() routines: grab the head of the list, then remove it, _then_ free() it. This fixes the memory corruption problem I've been chasing in the level 1 driver.
* stop csa from panicing in clkrun_hack() - we were using free'd memorycg2001-06-181-4/+3
| | | | | | don't leak memory in clkrun_hack() Submitted by: grog (partially)
* Call bus_teardown_intr when csa_attach fails after the interrupt hastmm2001-06-181-31/+29
| | | | | | | | been set up. PR: kern/28178 Reviewed by: cg MFC after: 2 weeks
* Use linker_reference_module() instead of hard-coding the digi_*brian2001-06-181-14/+7
| | | | module path.
* Credit John Prince and Eric Hernes for their work.brian2001-06-182-1/+6
|
* use devclass_get_maxunit() correctlycg2001-06-183-4/+4
|
* revise dsp_clone() to return the first nonbusy channel instead of simplycg2001-06-174-15/+17
| | | | | | cycling channel numbers. remove unused fields from struct snddev_info.
* fix a potential panic in dsp_clone() if no pcm devices were detectedcg2001-06-171-0/+2
|
* Use INTR_TYPE_AV for the interrupt handlers because:peter2001-06-167-8/+8
| | | | | | | | | 1: most drivers are sensitive to timing, and 2: the handlers are MPSAFE and need a chance to get into the kernel before some other non-mpsafe handler blocks the ithread on Giant in shared irq cases. Reviewed by: cg (in principle)
* use a global devclass for all drivers - i'm not entirely sure why thiscg2001-06-1630-929/+936
| | | | | | | | | | | | | | | worked before. mixer, dsp and sndstat are seperate devices - give them their own cdevsws instead of demuxing requests sent to a single cdevsw. use the si_drv1/si_drv2 fields in dev_t structures for holding information specific to an open instance of mixer/dsp. nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided using cloning. various locking fixes.
* OpenFirmware kernel support, as used by the PowerPC and hopefully otherbenno2001-06-163-7/+357
| | | | | | | | | ports later on. This includes the basic MI interface routines as well as a console driver. The MD code is kept in the MD directories. Reviewed by: obrien
* Add PC-9821RA-E01. This appears that PC-9821 Ra20 has this eitherimp2001-06-161-0/+1
| | | | | | | built in, or as an addon card (My Japanese isn't quite good enough to know which). [FreeBSD98-testers 5098] contains all the details. Submitted by: Kawanobe Koh-san <kawanobe@st.rim.or.jp>
* Mind-o in last commit: s/==/>=/ when checking MTU size. *blush*wpaul2001-06-161-1/+1
|
* Fix the last serious bug I've been chasing:wpaul2001-06-161-23/+41
| | | | | | | | | | | | | | The DP83820/83821 has an undocumented limitation concerning jumbo frames and TX checksum offload. In order for TX checksum offload to work, the outgoing frame must fit entirely within the TX FIFO, which is 8192 bytes in size. This isn't a problem, until you try to send a 9000-byte frame, at which point the TX DMA engine goes to sleep. It turns out that if you want to send a jumbo frame larger than 8170 bytes (8192 - 64), you have to turn off the TX checksum support. As a workaround, I changed nge_ioctl() so that if the user selects an MTU larger than 8152 bytes, we clear the if_hwassist flags. The flags will be set again once the MTU is reduced to a smaller value.
* Turn TCP and UDP hardware RX checksumming back on. jlemon pointed out wherewpaul2001-06-152-6/+3
| | | | I'd gone wrong before: we have to set csum_data to 0xffff, not 0.
* Fix TX bug: when using TCP/IP checksum offload on TX, we tell the chipwpaul2001-06-151-4/+4
| | | | | | | we want the checksums calculated on a per-packet basis using control bits in the extsts field of the DMA descriptor structure. For TX, the chip seems to want these bits set in the field of the first descriptor in a fragment chain, not the last.
* Fix warning: 186: warning: label `done' defined but not usedpeter2001-06-151-1/+0
|
* Fix warning: 128: warning: initialization makes pointer from integerpeter2001-06-151-1/+4
| | | | | Note: this file has lots of #if __FreeBSD__ >= 4 etc which needs to be changed to __FreeBSD_version >= 400000 etc.
* Fix warnings:peter2001-06-151-1/+0
| | | | | | | | | vinumhdr.h:80: warning: redundant redeclaration of `vinum_cdevsw' vinumext.h:239: warning: previous declaration of `vinum_cdevsw' in each of the following files: vinum.c, vinumconfig.c, vinumdaemon.c, vinuminterrupt.c, vinumio.c, vinumioctl.c, vinumlock.c, vinummemory.c, vinumraid5.c, vinumrequest.c, vinumrevive.c, vinumstate.c, vinumutil.c
* Fix warnings:peter2001-06-151-4/+5
| | | | | | | | | musycc.c:449: warning: long unsigned int format, unsigned int arg (arg 3) musycc.c:449: warning: long unsigned int format, unsigned int arg (arg 4) musycc.c:453: warning: long unsigned int format, unsigned int arg (arg 3) musycc.c:453: warning: long unsigned int format, unsigned int arg (arg 4) musycc.c:453: warning: long unsigned int format, unsigned int arg (arg 5) These warnings used to be confined to the alpha but are on all now.
* Fix warning: 110: initialization makes pointer from integer without a castpeter2001-06-151-2/+1
| | | | | This was passing a (d_kqfilter_t *)-1 as the kqfilter function pointer. Fortunately there was no D_KQFILTER in d_flags, so this was harmless.
* Fix warning: 193: warning: label `done' defined but not usedpeter2001-06-151-1/+0
|
* Fix warnings:peter2001-06-151-1/+1
| | | | | | 554: passing arg 4 of `resource_string_value' from incompatible pointer type 576: passing arg 4 of `resource_string_value' from incompatible pointer type 593: passing arg 4 of `resource_string_value' from incompatible pointer type
* Fix warnings:peter2001-06-151-1/+0
| | | | | 1831: warning: unused variable `noise' 1831: warning: unused variable `sig'
* Fix warning: 179: warning: label `done' defined but not usedpeter2001-06-151-1/+0
|
* We've had problems with data corruption occuring onmjacob2001-06-141-0/+21
| | | | | | | | | | commands that complete (with no apparent error) after we receive a LIP. This has been observed mostly on Local Loop topologies. To be safe, let's just mark all active commands as dead if we get a LIP and we're on a private or public loop. MFC after: 4 weeks
* various locking fixes, rework open logic and channel registrationcg2001-06-145-144/+317
| | | | PR: kern/28084
* Correct typo.nyan2001-06-141-1/+1
|
* Moved the wd33c93 specific file to sys/dev/ic.nyan2001-06-144-3/+168
|
* With this commit, I hereby pronounce gensetdefs past its use-by date.peter2001-06-139-33/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the a.out emulation of 'struct linker_set' with something a little more flexible. <sys/linker_set.h> now provides macros for accessing elements and completely hides the implementation. The linker_set.h macros have been on the back burner in various forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()), John Polstra (ELF clue) and myself (cleaned up API and the conversion of the rest of the kernel to use it). The macros declare a strongly typed set. They return elements with the type that you declare the set with, rather than a generic void *. For ELF, we use the magic ld symbols (__start_<setname> and __stop_<setname>). Thanks to Richard Henderson <rth@redhat.com> for the trick about how to force ld to provide them for kld's. For a.out, we use the old linker_set struct. NOTE: the item lists are no longer null terminated. This is why the code impact is high in certain areas. The runtime linker has a new method to find the linker set boundaries depending on which backend format is in use. linker sets are still module/kld unfriendly and should never be used for anything that may be modular one day. Reviewed by: eivind
* Hints overhaul:peter2001-06-123-26/+21
| | | | | | | | | - Replace some very poorly thought out API hacks that should have been fixed a long while ago. - Provide some much more flexible search functions (resource_find_*()) - Use strings for storage instead of an outgrowth of the rather inconvenient temporary ioconf table from config(). We already had a fallback to using strings before malloc/vm was running anyway.
* -Wunused cleanuppeter2001-06-121-2/+1
|
* Cosmetics:joerg2001-06-111-16/+22
| | | | | | | | | . remove stale comments and a stale #define (from the old days of ft(4)) . make MAX_SEC_SIZE (used in isa_dmainit()) a #define . fix a typo in a string . use 0 as the blocksize in devstat_add_entry(), since the actual blocksize is unknown (devstat(9) suggests to use 0 in that case)
* identify es1371 revision acg2001-06-111-1/+6
|
* get clkrun the right way aroundcg2001-06-111-5/+0
| | | | remove debug messages
* sbuf_new(9) now returns a struct sbuf * instead of an int. If the callerdes2001-06-101-1/+1
| | | | | does not provide a struct sbuf, sbuf_new(9) will allocate one and return a pointer to it.
* Move the files from i386/isa/ic/ to dev/ic/.nyan2001-06-102-0/+236
|
* Added ESP98 specific register (merged from i386/isa/ic/esp.h).nyan2001-06-101-0/+1
|
* Removed unneeded pc98 code (merged from i386/isa/ic/ns16550.h).nyan2001-06-101-14/+0
|
* Add PC9801-102 CBUS card to the list of plug and play devices. Someimp2001-06-091-0/+3
| | | | | | | mapping of irq 6 may be required to use that irq, but if so, additional commits will follow. Submitted by: Hiroshi TSUKADA-san
* Catch up to csareg.h rev 1.3.tanimura2001-06-081-4/+7
| | | | Forgotten by: cg
OpenPOWER on IntegriCloud