summaryrefslogtreecommitdiffstats
path: root/sys/isa
Commit message (Collapse)AuthorAgeFilesLines
* Add SUP1670 - Supra 336i V+ Intl. Since we update the PnP IDstanimura2000-05-261-0/+1
| | | | | | | | | more frequently than the core part of the sio driver, it might be good to move the PnP IDs to sio_isapnp.h or something like that. PR: i386/18828 Submitted by: J.P. King <jpk28@cam.ac.uk>
* Back out the previous change to the queue(3) interface.jake2000-05-261-2/+2
| | | | | | It was not discussed and should probably not happen. Requested by: msmith and others
* Change the way that the queue(3) structures are declared; don't assume thatjake2000-05-231-2/+2
| | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd
* Add RSS0262 - 5614Jx3[G] V90+K56Flex Modem.tanimura2000-05-191-0/+1
| | | | | PR: kern/18168 Submitted by: Tony Voet <voet@engineer.com>
* Add ACH2012 - 5634BTS 56K Video Ready Modem.tanimura2000-05-191-0/+1
| | | | | PR: kern/17351 Submitted by: Eric D. Futch <efutch@nyct.net>
* Add a couple of new PnP IDs.tanimura2000-05-181-0/+2
| | | | | | | | | | o OZO800f - Zoom 2812 (56k Modem) PR: kern/18603 Submitted by: Matt Loschert <loschert@servint.com> o DAV0336 - DAVICOM 336PNP MODEM PR: kern/18608 Submitted by: Martijn Plak <martijn@be3.com>
* Port ppc driver to alpha.dfr2000-05-143-4/+36
| | | | Submitted by: Andrew M. Miklic <miklic@ibm.net>
* Use bus_space stuff except where it needs high performance.nyan2000-05-121-79/+82
| | | | Reviewed by: bde
* Supported PC-98.nyan2000-05-111-2/+1
|
* Step down a level and issue format requests with a struct bio insteadphk2000-05-061-20/+20
| | | | of a struct buf.
* Separate the struct bio related stuff out of <sys/buf.h> intophk2000-05-051-0/+1
| | | | | | | | | | | | | | | <sys/bio.h>. <sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes. Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data. Still a few bogus uses of struct buf to track down. Repocopy by: peter
* Add the logical ID of FUJITSU Modem 33600 PNP/I2.tanimura2000-05-021-0/+1
| | | | | PR: kern/18257 Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
* Fixed the type of some ivar access functions. Ivars have type uintptr_t,bde2000-04-302-5/+5
| | | | | | | not u_long. On i386's with 64-bit longs, returning u_longs indirectly in (more than) the space reserved for uintptr_t's tended to corrupt the previous frame pointer in the stack frame, so it was not easy to debug. The type mismatches are hidden by the bogus cast in DEVMETHOD().
* Remove unneeded #include <sys/kernel.h>phk2000-04-291-1/+0
|
* Enable PnP attachment for parallel port controllers.wollman2000-04-221-6/+11
| | | | PR: 17495
* Remove ~25 unneeded #include <sys/conf.h>phk2000-04-191-1/+0
| | | | Remove ~60 unneeded #include <sys/malloc.h>
* Complete the bio/buf divorce for all code below devfs::strategyphk2000-04-152-72/+71
| | | | | | | | | | Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case. CCD not converted yet, casts to struct buf (still safe) atapi-cd casts to struct buf to examine B_PHYS
* * Factor out the object system from new-bus so that it can be used bydfr2000-04-081-2/+1
| | | | | | | | | | non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware. This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use.
* Allow MAXDEP dependants, not MAXDEP-1.dfr2000-04-041-1/+1
|
* Move B_ERROR flag to b_ioflags and call it BIO_ERROR.phk2000-04-021-7/+7
| | | | | | | | | | | | | (Much of this done by script) Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED. Move b_pblkno and b_iodone_chain to struct bio while we transition, they will be obsoleted once bio structs chain/stack. Add bio_queue field for struct bio aware disksort. Address a lot of stylistic issues brought up by bde.
* - Add temporary workaround to fool some "clever" KVM switch productsyokota2000-04-021-5/+22
| | | | | | which think they know the IntelliMouse 4-byte packet and believe, wrongly, that any other protocols use 3-byte packets. - Update a couple of comment lines for A4 Tech mice.
* Add support for pci modems. ONLY CONTROLLER BASED MODEMS. Thisimp2000-04-011-14/+122
| | | | | | | | | | | | doesn't support winmodems, softmodems, hcf or any other modem that relies on the host to do any sort of soft control for any aspect of the modem's function. There are two modems known to work: 3COM FaxModem PCI. ActionTec 56k VoiceMessaging PCI Modem and the following modem might work Multitech PCI FaxModem (not sure about this) and the serial pci cards might work too. I have neither these hardware items so I can't add support for them.
* Don't use too-large stack buffers.dfr2000-03-311-3/+16
| | | | Submitted by: Nikolai Saoukh <nms@otdel-1.org>
* - Fix SC_ALT_MOUSE_IMAGE; don't blink the mouse cursor.yokota2000-03-311-0/+1
| | | | - Fix non-destructive, underline text cursor.
* Fixes to parse more complex ISA PnP configurations.dfr2000-03-311-44/+74
| | | | | Submitted by: Nikolai Saoukh <nms@Brigada-A.Ethereal.RU> PR: kern/17219
* Recognize USR3050 "U.S. Robotics 56K FAX INT" fax modem.peter2000-03-311-0/+1
| | | | | PR: 17702 Submitted by: Scot W. Hetzel <hetzels@westbend.net>
* Fix PnP memory range calculations.dfr2000-03-311-5/+6
| | | | | Submitted by: Nikolai Saoukh <nms@Brigada-A.Ethereal.RU> PR: kern/16712
* Fix floppy driver after my isadma changes.phk2000-03-251-7/+12
|
* Isolate the Timecounter internals in their own two files.phk2000-03-202-6/+8
| | | | | | | | | | | | | | | Make the public interface more systematically named. Remove the alternate method, it doesn't do any good, only ruins performance. Add counters to profile the usage of the 8 access functions. Apply the beer-ware to my code. The weird +/- counts are caused by two repocopies behind the scenes: kern/kern_clock.c -> kern/kern_tc.c sys/time.h -> sys/timetc.h (thanks peter!)
* Rename the existing BUF_STRATEGY() to DEV_STRATEGY()phk2000-03-201-1/+1
| | | | | | | | substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo) substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo) This patch is machine generated except for the ccd.c and buf.h parts.
* Remove B_READ, B_WRITE and B_FREEBUF and replace them with a newphk2000-03-201-6/+6
| | | | | | | | | | | | | | | | | | | | | field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set. B_WRITE was bogusly defined as zero giving rise to obvious coding mistakes. Also eliminate the redundant struct buf flag B_CALL, it can just as efficiently be done by comparing b_iodone to NULL. Should you get a panic or drop into the debugger, complaining about "b_iocmd", don't continue. It is likely to write on your disk where it should have been reading. This change is a step in the direction towards a stackable BIO capability. A lot of this patch were machine generated (Thanks to style(9) compliance!) Vinum users: Greg has not had time to test this yet, be careful.
* Missing pieces of the last commit ;-(yokota2000-03-191-11/+32
|
* - Properly keep track of I/O port resources.yokota2000-03-192-40/+75
| | | | - Use bus_space_read/write() to access the ports.
* Make the Y-E Data PCMCIA floppy of the Toshiba Libretto work underjoerg2000-03-182-245/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -current. It doesn't work yet as stable as the 3.x/PAO version of the driver does, however, i get occasional `FDC direction bit not set' and other weird messages, but it basically works at least. The old (defunct) #ifdef FDC_YE stuff has been eliminated completely now, PCMCIA-FDC specific functions have been implemented differently where needed. Unfortunately, due to the fact that the traditional PeeCee FDC with its funny non-contiguous register space (one register for WD1003 harddisk controllers is interleaved into the FDC register set), and Peter's subsequent changes involving two different bus space handles for normal FDCs, the changes required for the Y-E stuff are more complex than i'd love them to be. I've done my best to keep the logic for normal FDCs intact. Since the Y-E FDC seems to lose interrupts after a FDC reset sometimes, i've also replaced the timeout logic in fd_turnoff() to generate an artificial pseudo interrupt in case of a timeout while the drive has still outstanding transfers waiting. This avoids the total starvation of the driver that could be observed with highly damaged media under 3.x/PAO. This part of the patch has been revied by bde previously. I've fixed a number of occasions where previous commits have been missing the encapuslation of ISA DMA related functions inside FDC_NODMA checks. I've added one call to SET_BCDR() during preparation of the format floppy operation. Floppy formatting has been totally broken before in 3.x/PAO (garbage ID fields have been written to the medium, causing `wrong cylinder' errors upon media reading). This is just black magic, i don't have the slightes idea _why_ this needs to be but just copied over the hack that has been used by the PAO folks in the normal read/write case anyway. The entired device_busy() stuff seems to be pointless to me. In any case, i had to add device_unbusy() calls symmetrical to the device_busy() calls, otherwise the PCMCIA floppy driver could never be deactivated. (As it used to be, it caused a `mark the device busier and busier' situation.) IMHO, all block device drivers should be marked busy based on active buffers still waiting for the driver, so the device_unbusy() calls should probably go to biodone(). Only one other driver (whose name escapes me at the moment) uses device_busy() calls at all, so i question the value of all this... I think this entire `device busy' logic simply doesn't fit for PCMCIA &al. It cannot be the decision of some piece of kernel software to declare a device `busy by now, you can't remove it', when the actual physical power of removing it is the user pulling the card. The kernel simply has to cope with the removal, however busy the device might have been by the time of the removal, period. Perhaps a force flag needs to be added? Upon inserting the card a second time, i get: WARNING: "fd" is usurping "fd"'s cdevsw[] WARNING: "fd" is usurping "fd"'s bmaj I suspect this is related to the XXX comment at the call to cdevsw_add(). Does anybody know what the correct way is to cleanup this?
* - Add Support for the following PS/2 mice:yokota2000-03-181-87/+395
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Microsoft IntelliMouse Explorer: 2 buttons on top, 2 side buttons and a wheel which also acts as the middle button. The mouse is recognized as "IntelliMouse Explorer". - Genius NetScroll Optical: 2 buttons on top, 2 side buttons and a wheel which also acts as the middle button. The mouse is recognized as "NetMouse/NetScroll Optical". - MouseSystems SmartScroll Mouse (OEM from Genius?): 3 buttons on top, 1 side button and a wheel. The mouse is recognized as Genius "NetScroll". - IBM ScrollPoint: 2 buttons on top and a stick between the buttons. The stick can perform "horizontal scroll" in W*ndows environment. The horizontal movement of the stick is detected. It is currently mapped to the Z axis movement in the same way as the first wheel. The mouse is recognized as "MouseMan+", as it is considered to be a variation of MouseMan. - A4 Tech 4D and 4D+ mice. These mice have two wheels! The movement of the second wheel is reported as the Z axis movement in the same way as the first wheel. These mice are recognized as "4D Mouse" and "4D+ Mouse". - Tweak IntelliMouse support code a bit so that less-than-compatible wheel mice can work properly with the psm driver. - Add driver configuration flags which correspond to the kernel options PSM_HOOKRESUME and PSM_RESETAFTERSUSPEND, so that we don't need to recompile the kernel when we need these functions. - Properly keep track of the irq resource. - Add a watchdog timer in case interrupts are lost (experimental). - Add `detach' function (experimental).
* Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags.phk2000-03-131-0/+3
| | | | | Define ISADMA_{READ,WRITE,RAW} macros with the same numeric values as the B_{READ,WRITE,RAW} and use them instead throughout.
* Fix crashes on card eject for pccard modems. We check for NULL whenimp2000-03-111-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | we get the com address. If so, we go ahead and return. Bruce thinks there's a bug in the pccard layer that it terminates devices with extreme prejustice rather than letting them deside for themselves when to terminate (and he's likely right). This fix doesn't change that, but instead works around it by checking for NULL pointers at more places than before. The detach routine still calls functions at interrupt level that aren't reentrant. In theory this could cause a problem, but none showed up in practice. Future versions should correct this problem, likely by making the detach process a thread/process at the pccard level. NEWCARD will do this, and the current pccard layer should likely be modified to that as well, should it live long enough. A few style nits of the same form that were in my original patch sent off to bde were also fixed as part of this process. Mostly use of !ptr and return ENOPARENS. This should prevent a crash on suspend with an active ppp link as well, but that wasn't tested. Reviewed by: bde Approved by: jkh
* Recognize another modem, "PMC2430 - Pace 56 Voice Internal Modem"peter2000-03-051-0/+1
| | | | Submitted by: Mark Ovens <mark@ukug.uk.freebsd.org>
* Fix two more problems with freeing the softc data manually. subr_bus.cpeter2000-03-021-2/+0
| | | | | | | | | is responsible for this and this will lead to malloc 'freeing already free' type panics. One was in the probe code, the other was in the pccard eject? code. Not explicitly approved by: jkh (but the first is fallout from subr_bus.c rev 1.54 which was an approved commit, the second is the same problem)
* Don't free(sc) before returning an error from probe, it does not "belong"peter2000-03-011-1/+0
| | | | | | | | to us, subr_bus.c will free it. This bug (panic: freeing already free) was exposed by kern/subr_bus.c rev 1.54 Not explicitly approved by: jkh (but this is a showstopper and fallout of the above approved change)
* Do not add children (atkbd and psm) if they are disabled.yokota2000-02-251-0/+3
| | | | Approved by: jkh
* Newbus-ify the USR Sportster TA Intern driver.gj2000-02-211-1/+1
| | | | | | | | | | | | | | | | | | Enable the driver in sys/conf/files.i386. In isa/isavar.h increase ISA_NPORT from 32 to 50. This is required because this brain-damaged card maps 49 (!) port ranges. This does not have a negative impact because this value only specifies the maximum number of entries in a linked list and not the size of an array which is allocated in all drivers. The register/fifo access routines were not newbus-ified because 1) I knew that the old code worked and is simpler and more efficient 2) the if_ed driver does something similar and 3) the newbus macros collapse to inb/outb anyway. Reviewed and tested by: hm Approved by: jkh
* Fixed regressions in rev.1.274:bde2000-02-151-11/+15
| | | | | | | | | | | | | | | | 1) Non-AST4 multiport cards were broken by bypassing the code that changes `idev' to the multiport master device. 2) AST4 multiport cards apparently were broken by inverting the test for the master device having an irq. 3) Error handling for nonexistent master devices was broken by removing a check for a null pointer. 4) `int' error codes returned by bus_get_resource() were assigned directly to the boolean variable com->no_irq. Probably harmless, since the boolean is implemented as a u_char. Submitted by: part 1) by Chris Radek <cradek@in221.inetnebr.com> part 2) by yokota Approved by: jkh
* When allocating resources in the following cases:msmith2000-02-111-5/+5
| | | | | | | | | | | | | | | | | | | | - trying for a fit for a PnP configuration from a device - soaking up resources from a configuration that were not allocated by the driver do not attempt to activate them. Only a device driver that is aware of the nature of the resource and its suitability can be certain that activating a resource, particularly a memory resource, is a safe thing to do. This was prompted by the discovery that many systems report all physical memory through a PNP0c02 device; activating this resource maps all physical memory into the kernel's virtual space, either blowing out the kernel pagetable or in the worst case causing a panic in pmap_mapdev() if the system has too much physical memory. Authorised by: jkh Reviewed by: dfr
* Use config's conditional compilation rather than using #ifdefs that makepeter2000-01-295-30/+3
| | | | | modular compilation harder. I'm doing this because people seem to like cut/pasting examples of bad practices in existing code.
* Remove #include "ppc.h" and #if NPPC > 0 - this is always true as it ispeter2000-01-291-4/+0
| | | | 'optional ppc' in conf/files*
* "Completed" the previous fix. Return ENOMEM on memory allocation failurebde2000-01-291-1/+8
| | | | | in sioattach(), not ENXIO. Free resources before returning early in sioprobe() and sioattach().
* * Don't use ivars to access resources, bus_set/get_resource is much better.dfr2000-01-251-10/+26
| | | | * First approximation of making this work on alpha (not working yet).
* Return ENXIO on error, not 0. Seems to have been skipped when convertingn_hibma2000-01-231-1/+1
| | | | | | to newbus. Reviewed by: bde
* Add another four device ID's for isa pnp modems. The USR's seem to usepeter2000-01-181-0/+7
| | | | | | | the same vendor and logical ID. The rest I am not sure whether they are vendor or logical, but it won't hurt if I've put a vendor ID here as merely will not match. These came from the old sio-pnp code, hence the uncertainty about which ID it is.
OpenPOWER on IntegriCloud