summaryrefslogtreecommitdiffstats
path: root/sys/isa
Commit message (Collapse)AuthorAgeFilesLines
* Update the atkbdc, atkbd, and psm drivers to probe/attachyokota2001-09-063-125/+279
| | | | | | | | more cleanly and consistently in all APCI, PnP BIOS, and "hint" cases. NOTE: this doesn't necessarily solve the problem that the PS/2 mouse is not detected after the recent ACPI update.
* Rework the ISA PnP driver pnp and the PnP resource parser to fixyokota2001-09-056-350/+659
| | | | | | | | | | | | | | | | | | | | | | | | the following bugs. - When constructing a resource configuration, respect the order in which resource descriptors are read, in order to establish the correct mapping between the descriptors and configuration registers. "Plug and Play ISA Specification, Version 1.0a", Sec 4.6.1, May 5, 1994. "Clarifications to the Plug and Play ISA Specification, Version 1.0a", Sec 6.2.1, Dec. 10, 1994. - Do not ignore null (empty) descriptors; they are valid descriptors acting as filler. "Clarifications to the Plug and Play ISA Specification, Version 1.0a", Sec 6.2.1. - Correctly set up logical device configuration registers for null resources. "Clarifications to the Plug and Play ISA Specification, Version 1.0a" - Handle null resources properly in the resource allocator for the ISA bus.
* Reenable RTC interrupts after wakeup. Some laptops have a problemiwasaki2001-09-041-1/+22
| | | | | | | | | with system statistics monitoring tools (such as systat, vmstat...) because of stopping RTC interrupts generation. Restore all the timers (RTC and i8254) atomically. Reviewed by: bde MFC after: 1 week
* Add a new field, id_config_attr to the struct isa_device.yokota2001-09-033-1/+14
| | | | | It will be later used to store some flags to control PnP device configurations.
* Add ID for the Best Data Smart One 56SPS Voice modem.murray2001-08-311-0/+1
| | | | | PR: kern/24851 Submitted by: Daniel Rudy <dcrudy@aol.com>
* Correct the ID for the ALS0120 PnP Joystick. It is different from themurray2001-08-311-1/+1
| | | | | | | ALS0110. PR: kern/22617 Submitted by: Mike Holling <myke@fks.bt>
* Add OMRON ME5614ISA PnP modem.murray2001-08-311-0/+1
| | | | | PR: kern/22801 Submitted by: Ryuzo Okada <R.Okada@mm.neweb.ne.jp>
* Add PCI device IDs for Kuotech dual port serial cards.murray2001-08-311-0/+2
| | | | | | | Also give example of the flags needed to use these cards. PR: kern/21242 Submitted by: Shigeki Moride <moride@portside.net>
* Add ACPI attachments.msmith2001-08-306-0/+6
|
* Safety-check against empty PnP ID lists.msmith2001-08-301-1/+1
|
* Fix the so-called "half-baked-probe" code that I wrote a long time agoimp2001-08-161-0/+2
| | | | | | | | | | | | | | to properly clear the interrupt register on the no error case. Also, set the mcr register to zero when we find we can't support the chip. This fixes the hang on sio driver attach problem in the new pci pccard code that some people have reported. At least on my machine. I'd like to get this into 4.4. Submitted by: bde PR: kern/29742 MFC after: 1 day
* DO NOT ALLOCATE 2+K OBJECTS ON THE KERNEL STACK!!!!julian2001-08-101-12/+25
| | | | found by: Getting my u-area overwritten
* Return consistent key action codes at key press and releaseyokota2001-07-201-0/+1
| | | | | | | | | | events. Otherwise you would see unexpected results if shift or locking keys are defined to give different actions depending on other shift/locking keys' state. Please keep the ukbd module and the kernel in sync, otherwise the USB keyboard won't work after this change. MFC after: 10 days
* Hrmpf. nyan's rev 1.25 commit to fdc.h crossed with my removal of it.joerg2001-07-141-0/+17
| | | | Back-integrate his (PC98) changes into fd.c.
* Yet another large non-function change.joerg2001-07-142-292/+271
| | | | | | | | | | | | | | | | | | | | . Integrate fdc.h into fd.c, with the removal of ft(4) there's no longer a reason to scatter things across two files. . Sanitize comments. Convert them into the style(9)-recommended multi-line form, make them sentences where apprpriate, etc. . Declare all functions on top, and declare them in the order they appear in the file. This order is totally chaotic, but Bruce convinced me that reordering the file wouldn't make it better either. . Kill a `possibly uninitialized' warning (only seen with -O2) in fd_read_status(). . Make the comments at return (0|1) statements in fdstate() consistent. . Nuke a ``keep the compiler happy'' dummy return at the end of fdstate(), gcc is smart enough to detect that it would never be reached anyway.
* - Refine pc98 supports.nyan2001-07-141-0/+17
| | | | | - Use bus_space stuff. - Rename FDO_* -> FDC_* (obtained from NetBSD/pc98)
* Log when the user is turning debugging on/off.joerg2001-07-091-5/+9
| | | | | | | Also sanitize the TRACE* macros a bit so they syntactically behave like single C statements (even inside in `if' statement). Submitted by: des
* Hmpf, remove two variables that got unused by rev 1.214.joerg2001-07-091-2/+1
|
* Ouch, calculate correctly. With 300 rpm and 25 retries, it's 5 secondsjoerg2001-07-091-1/+1
| | | | till timeout.
* Remove parts of rev 1.211 again: do not delete our children iff theyjoerg2001-07-091-7/+0
| | | | | | haven't been probed successfully. It's a known bug that ISA hints processing instantiates those devices, and prematurely killing them has other unwanted side-effects.
* As des' example shows us, DMA overruns could happen in a situationjoerg2001-07-092-9/+38
| | | | | | | | where they will never succeed. Add a stop-gap measure that will at least eventually timeout the operation instead of retrying it indefinately. MFC after: 1 month
* Another large patchset from Bruce.joerg2001-07-081-158/+113
| | | | | | | | | | | | | | | Despite of a few cosmetic things like adding ``irritating silly parentheses'' around all return values, this mainly improves FDC reset handling by no longer gratuitously resetting the FDC all the time (which causes it to lose the notion of the current track) but only in case of errors, and it sanitizes the block and offset calculations in fdstrategy() and fdstate(). Some additional cleanup added by me, in particular the large switch in fdstate() now always uses return to break out, and no branch falls off the end of the switch statement anymore. Per Bruce's suggestion, removed M_NOWAIT from the malloc()s to simplify things. Submitted by: bde (mostly)
* More cleanup when detaching. Clone device entries will now bejoerg2001-07-041-17/+41
| | | | | | | | | | | | | | | | | | | | | destroyed properly (otherwise bad things would happen after a clone dev had been created, and the module was kldunloaded). Allocated children that have not successfully probed are being deleted again (otherwise fd0 and fd1 have always been allocated, even if only fd0 was acutally present, and fd1 even survived kldunloading the module). Still, kldunloading leaves remnants of the previously existing devices intact. Why doesn't it destroy all the devices? As a consequence, since dev->descr now points into no longer allocated memory, the system panics deep inside printf(9) when running devinfo(1) after kldunloading the module. Ideas sought... Also, when kldloading the module on a hints-populated isab0, this bus somehow has already created an fdc0 entry (a dummy) so the load attempt fails and will register fdc1 instead. What are those dummy entries for? Loading the module from the bootloader works, and it can be unloaded an re-loaded then later.
* Remove the resume method. It is not necessary any more, becauseyokota2001-06-301-7/+0
| | | | | keyboard drivers have it now... MFC after: 4 weeks
* Add the device resume method to keyboard drivers.yokota2001-06-301-0/+14
| | | | MFC after: 4 weeks
* Use the new-born BIO_CMD1 instead of fudging a bio_flag value for readingjoerg2001-06-291-116/+72
| | | | | | | | | | | | | | | | | the sector ID. Based on numerous comments made by Bruce, rewrite a good part of the old fdformat() function, and merge it with fdreadid() into a single unified fdmisccmd() function. Various style and a couple of more serious bugs fixed there. While i was at it, i also fixed the long-standing "TODO: don't allocate buffer on stack." in fdcioctl(), fixed a number of style bugs there, and finally implemented the FD_DEBUG ioctl command that has been advertised in <sys/fdcio.h> (formerly <machine/ioctl_fd.h>) for almost seven years now. ;-) Submitted by: bde (a lot of fixes for fdformat())
* This change slipped through hidden in a CVS conflict. Logically belongsjoerg2001-06-291-3/+3
| | | | to the previous commit (fix resource deallocation).
* First stab at fixing resource deallocation, and implementing fdc(4) asjoerg2001-06-291-10/+24
| | | | | | | | | | | a KLD. Still doesn't work well except in the PCMCIA case (now if only pccardd(8) could load and unload drivers dynamically...). Mainly, it tries to find fdc0 on the PCI bus for whatever obscure reasons, but i need someone who understands driver(9) to fix this. However, it's at least already better than before, and i'm tired of maintaining too many private changes in my tree, given the large patches bde submitted. :) Idea of a KLD triggered by: Michael Reifenberger <root@nihil.plaut.de>
* Merge in parts of a larger patchset i received from Bruce. Untestedjoerg2001-06-281-41/+38
| | | | | | | | | | | | | | | | | | | by now (except of a compile test), but i believe this to contain no actual functional changes. . Fix the copyright of the Regents i accidentally broke in rev 1.197 (although only a very small part of the original driver survived at all...). . Bump MAX_CYLINDER since some obscure formats really use more than 80 cylinders. . Correctly handle BIO_FORMAT which used to be a bitmask but is now a BIO command of its own. . Numerous stylistic fixes. Submitted by: bde
* Implement a new ioctl command for floppies: FD_READIDjoerg2001-06-261-8/+92
| | | | | Reads one sector ID field from a given track. Useful for analyzing floppies.
* Some more cosmetics: kill another couple of K&R function definitionsjoerg2001-06-261-28/+4
| | | | | that survived from old days, fix style of return type in fdcpio(), kill old Emacs hints that are no longer working that way anyway.
* Convert inb/outb to bus_space.nsouch2001-06-232-25/+34
| | | | Submitted by: jcm@FreeBSD-uk.eu.org
* 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
* 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)
* Fix warning:peter2001-06-151-1/+1
| | | | 163: passing arg 4 of `resource_string_value' from incompatible pointer type
* Hints overhaul:peter2001-06-123-28/+23
| | | | | | | | | - 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.
* 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)
* Nuke the various poorly maintained copies of ioctl_fd.h. The file isjoerg2001-06-061-1/+1
| | | | | not machine-dependant, thus it has been moved out (repo-copied) into <sys/fdcio.h>.
* Make the FDC (state machine) state an enum, as opposed to an intjoerg2001-06-052-17/+17
| | | | abusing a bunch of #defines, for clarity and better debugging support.
* Close the line displine on detach. Lots of folks have submittd this, andimp2001-06-051-1/+4
| | | | | | | I think bde even reviewed it once. Also, change the name of ActionTEC pat to more generic Lucent Kermit chip. Add stub for Xircom card. Add cardbus attachment too.
* Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so theyjoerg2001-06-045-285/+3
| | | | | | | | | | can be made userland-visible as <dev/ic/...>. Also, those files are not supposed to contain any bus-specific details at all, so placing them under .../isa/ has been a misnomer from the beginning. The files in src/sys/dev/ic/ have been repo-copied from their old location (this commit is a forced null commit there to record this message).
* Fix my email address. I accidentally cut'npasted the wrong (old)joerg2001-06-031-1/+1
| | | | hostname laste time.
* The orm device. This device gobbles up the Option ROMs in the ISAimp2001-06-011-0/+185
| | | | | | | | | | | | | | | memory I/O space. Otherwise, our resource allocation system might mistakenly assign pccard, plug and play devices or other things addresses that conflict with ROMs. I cleaned up his code a little from the submited driver: style(9) issues, commentary on why something that looks incorrect really is correct. Also noted that while a checksum field is defined for the ROMs, enough common hardware neglects it to make it not worthwhile checking. Submitted by: Nikolai Saoukh <nms@otdel-1.org> PR: 22078
* add Dualmode Zoom/FaxModem 56K (internal) Model 2919sanpei2001-05-261-0/+1
| | | | | PR: kern/27476 Submitted by: Eric Beyer <lnxfrk@earthlink.net>
* Don't lie to diskerr() now that it listens to us.phk2001-05-251-5/+0
|
* Add SmartLink 5634PCV SurfRidersanpei2001-05-201-0/+1
| | | | | PR: kern/26952 Submitted by: Simon Dick <simond@irrelevant.org>
* Remove unneeded includes of sys/ipl.h and machine/ipl.h.jhb2001-05-152-2/+0
|
* Implement a few more floppy ioctl commands and IO options, namely:joerg2001-05-141-23/+40
| | | | | | | | | | | | | | | | | | | | | . FD_CLRERR clears the error counter, thus re-enables kernel error printf()s, . FD_GSTAT obtains the last FDC operation state, if any, . FDOPT_NOERRLOG (temporarily) turns off kernel printf() floppy error logging, . FDOPT_NOERROR makes the kernel ignore an FDC error, thus can enable the transfer of an erroneous sector to the user application All options are being cleared on (last) close. Prime consumer of the last features will be fdread(1), to be committed shortly. (FD_CLRERR should be wired into fdcontrol(8), but then fdcontrol(8) needs a major rewrite anyway.)
* Actually biofinish(struct bio *, struct devstat *, int error) is more generalphk2001-05-061-4/+2
| | | | | | than the bioerror(). Most of this patch is generated by scripts.
* Undo part of the tangle of having sys/lock.h and sys/mutex.h included inmarkm2001-05-012-10/+14
| | | | | | | | | | | other "system" header files. Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files. Sort sys/*.h includes where possible in affected files. OK'ed by: bde (with reservations)
OpenPOWER on IntegriCloud