summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/isa_compat.c
Commit message (Collapse)AuthorAgeFilesLines
* Convert more malloc+bzero to malloc+M_ZERO.dwmalone2000-12-081-2/+1
| | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
* Redo the isa compat driver shim so that each driver is self containedpeter2000-05-281-27/+20
| | | | | | | and does not require that evil list of drivers in isa_compat.h. It uses the same strategy that pci drivers use, namely a COMPAT_ISA_DRIVER() macro that creates the glue on the fly. Theoretically old-style isa drivers should be preloadable now.
* Remove haveseen_iobase() - it is no longer called from anywhere in thepeter2000-05-281-20/+0
| | | | kernel.
* Don't complain about not getting resources for the compatibility shimimp2000-04-081-4/+4
| | | | | | drivers unless booted -verbose. This cleans up the boot messages somewhat as the old messages were confusing and not helpful for most people.
* * Factor out the object system from new-bus so that it can be used bydfr2000-04-081-1/+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.
* Put a FYI in the compatability shims so that people are aware that theypeter2000-01-291-0/+1
| | | | | | | | | are using an old unconverted driver. Most (if not all) of the drivers for common hardware are newbus these days. However, we don't want to encourage people to take the easy way out and write new drivers using the shims. This is just passive "encouragement". Reviewed by: phk
* GC isa_device->id_reconfig - it's not referenced anywhere anymore.peter2000-01-231-8/+0
| | | | GC reconfig_isadev() - it's not used anymore.
* * Add struct resource_list* argument to resource_list_alloc anddfr1999-10-121-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | resource_list_release. This removes the dependancy on the layout of ivars. * Move set_resource, get_resource and delete_resource from isa_if.m to bus_if.m. * Simplify driver code by providing wrappers to those methods: bus_set_resource(dev, type, rid, start, count); bus_get_resource(dev, type, rid, startp, countp); bus_get_resource_start(dev, type, rid); bus_get_resource_count(dev, type, rid); bus_delete_resource(dev, type, rid); * Delete isa_get_rsrc and use bus_get_resource_start instead. * Fix a stupid typo in isa_alloc_resource reported by Takahashi Yoshihiro <nyan@FreeBSD.org>. * Print a diagnostic message if we can't assign resources to a PnP device. * Change device_print_prettyname() so that it doesn't print "(no driver assigned)-1" for anonymous devices.
* Doug missed an isa_get_flags().peter1999-09-071-1/+1
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Cast pointers to uintptr_t instead of casting them to u_long, and/or vicebde1999-08-241-2/+2
| | | | versa. Cosmetic.
* * Use ISA_DELETE_RESOURCE to cancel memory resource if driver clears maddr.dfr1999-05-301-4/+8
| | | | * Don't allow new-style isapnp devices through the compat interfaces.
* Don't try to allocate memory resource unless address is non-zero.dfr1999-05-241-2/+3
|
* * Factor out the common code between the isa bus drivers for i386 and alpha.dfr1999-05-221-23/+57
| | | | | | | * Re-work the resource allocation code to use helper functions in subr_bus.c. * Add simple isa interface for manipulating the resource ranges which can be allocated and remove the code from isa_write_ivar() which was previously used for this purpose.
* Move the declaration of the interrupt type from the driver structuredfr1999-05-081-5/+8
| | | | to the BUS_SETUP_INTR call.
* GC some unused stuff relating to the old conflict checking and other lint.peter1999-05-081-7/+21
| | | | | | | | Change haveseen_isadev() to something a little easier to emulate. Store the device_t for the wrapper in isa_device. Implement a replacement for haveseen_isadev - namely haveseen_ioport() which takes a port size as an extra argument for a proper range check. This (haveseen_ioport()) has not been tested, but I think it'll work.
* Only call kvtop on non-null id_maddr's...peter1999-04-261-3/+8
|
* Back out parts of rev 1.4; making isa.c preserve the hints across apeter1999-04-241-14/+15
| | | | release made it unneeded.
* Always reset the isa hints after releasing the resources after probe,peter1999-04-191-16/+16
| | | | | | | because the act of doing the release kills the hints(!). A quirk of the wrapper caused it to reset all the settings, except perhaps for the memory address. I've tested this with a real SMC 8013EPC - which uses shared memory addresses - it seems to work OK.
* Don't do (1 << irq) to get an interrupt mask when irq = -1.peter1999-04-191-4/+6
| | | | Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
* Fix some confusion between physical and virtual addresses when recordingdfr1999-04-191-5/+13
| | | | the driver's choice of memory window.
* Allocate space for struct isa_device's, not for pointers thereto.bde1999-04-171-2/+2
| | | | This fixes memory corruption that caused calls to address 0 here.
* Bring the 'new-bus' to the i386. This extensively changes the way thepeter1999-04-161-0/+255
i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA. (Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.) This is a checkpoint of work-in-progress, but is quite functional. The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman. Approved by: core
OpenPOWER on IntegriCloud