Commit Graph

31 Commits

Author SHA1 Message Date
matt 93feeb1203 Fix lossage from boolean_t -> bool and updated x86 bus_dma. 2007-02-22 04:38:02 +00:00
christos 168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos 4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
thorpej a9beff9534 Use aprint_*(). 2006-02-19 14:59:22 +00:00
perry 68da44823c u_intN_t -> uintN_t 2005-12-26 19:23:59 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
yamt fb4a1ff192 tweak x86 bus_dma code so that it can be used by xen port.
- distinguish paddr_t and bus_addr_t.
  for xen, use bus_addr_t in the sense of machine address.
- move _X86_BUS_DMA_PRIVATE part of bus.h into bus_private.h.
- remove special handling of xen_shm.  we can always grab
  machine address from pte.
2005-04-16 07:53:35 +00:00
perry 32a519cece de-__P, partially ANSIfy 2005-02-03 21:08:57 +00:00
drochner 46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
jdolecek e1a0411746 print complete contents of the second feature byte; this also fixes
printing of DMA32 bit
2003-12-15 08:38:01 +00:00
fvdl 6aa7a50be4 Adapt for new bus_dma structure.
XXX the MCA-specific stuff in here was never actually used. I pointed
the tag at all the generic functions that can now be used (bounce
functionality was integrated into them).
2003-05-08 12:47:39 +00:00
wiz 1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
fvdl ab4edb55ec Adapt for i386/x86 change. 2003-02-26 22:21:19 +00:00
fvdl ae4b76c8d3 New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.
2002-11-22 15:23:35 +00:00
christos 2730dd7756 void functions do not return values. 2002-10-22 21:02:09 +00:00
fvdl 26ab868e68 Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.
2002-10-01 12:56:36 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
sommerfeld ceb358f80c Fix so these files build with options DEBUG enabled.
The change to edc_mca.c may not work as I don't have any mca hardware.
2001-12-04 20:00:15 +00:00
jdolecek 586f0a8848 fix two bugs in mca_dma_set_ioport():
* need to specify DMA channel for DMACMD_SET_IO
* the upper byte of port was masked incorrectly

also update comment in _mca_bus_dmamap_sync() to current reality
2001-12-03 22:50:44 +00:00
jdolecek 492b500611 Add couple hooks, needed primarily for NCR 53C90 MCA card driver:
* add flag to explicitly specify if the DMA should be done as 16bit or 8bit
* add flag to specify the DMA should happen via I/O port
* add new function mca_dma_set_ioport(), to set I/O port to be used for the
  DMA operation

Also clarify copyright (welcome to 2001 :), and couple other minor nits
2001-12-02 17:02:33 +00:00
jdolecek ed11067c01 Properly glue in the MCA DMA controller support, using bus_dma
interface, using the code from dev/mca/edc_mca.c:edc_setup_dma()
as a base. Use ISA routines for dmamap/dmamem functions, primarily
to get the buffer bouncing for >16MB RAM machines.  The MCA DMA
channel is stored in unused upper 4 bits of ISA DMA cookie's
id_flags, hopefully that's not too disgusting :)
Export mca_dmamap_create(), which returns map suitable for further DMA
operations using MCA DMA controller.

mca_busprobe(): also report if machine has 32bit DMA (feature byte 2
bit 1)

Use symbolic names for DMA controller commands - I've finally got
info what they mean from Tymm Twillman's Linux include/asm/mca_dma.h.
No more magic constants! Also fix bug in the way DMA counter has been
setup - for 16bit DMA, it's necessary to tell the controller _half_
the byte count. This was wrong in the former code.
2001-11-23 22:24:36 +00:00
lukem 95c969f245 add RCSID 2001-11-15 07:03:28 +00:00
jdolecek 6c225c676c Compact the BIOS CFG printout 2001-05-14 14:14:09 +00:00
jdolecek 97500f67b8 print the model numbers slighly different way 2001-05-04 07:22:07 +00:00
jdolecek 0d6051b7f7 Find out the presence of MCA bus via bioscall(9).
g/c some unneeded stuff, make comments more accurate.
2001-05-02 13:18:34 +00:00
jdolecek 912e570671 Introduce machdep mca_disk_[un]busy(), which turn on/off disk LED.
Call as appropriate from the ESDI disk driver
2001-04-22 11:52:18 +00:00
jdolecek 738e87aeb9 fix argument for bitmask_snprintf() (stylistic only, code is commented out anyway) 2001-04-22 11:51:45 +00:00
jdolecek 40dc315f3b #if 0 bogus mca_intr_establish() added possibly mistakely
by cgd in rev. 1.2
2000-08-13 10:38:38 +00:00
jdolecek f6cf4e5f93 move struct sys_config from mca_machdep.c to mca_machdep.h
fix copyright (overlooked in original commit)
use bitmask_snprintf() instead of printf("...%b") (though that part is commented
	out anyway ATM)
2000-07-09 10:35:11 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
jdolecek 8fedbd8497 Add i386-specific part of MicroChannel Architecture bus support, as
found in some older IBM PS/2 machines.

This code is based upon work by Scott D. Telford, with some minor bits
in arch/i386/mca/mca_machdep.c taken from FreeBSD.

XXX this is still very experimental and development version; use at your
XXX own risk
2000-05-11 16:38:10 +00:00