Commit Graph

28993 Commits

Author SHA1 Message Date
simonb afc2e41e04 Change multiple spaces to tabs. 1999-03-25 03:34:28 +00:00
simonb be62523806 Remove trailing whitespace. 1999-03-25 03:33:58 +00:00
explorer 0c2f5ada28 Commit files for the LAN Media Corporation high speed serial/HSSI/DS3 driver 1999-03-25 03:32:43 +00:00
explorer 960c283a65 Add LAN Media Corporation info 1999-03-25 03:28:17 +00:00
simonb 674c1ff8f1 Check KN03_INTR_PROD_JUMPER in the IOASIC INTR register to test if we
are running on a 5000/2x0 or a 5900, and set cpu_model accordingly.
(Test from Tohru Nishimura).
1999-03-25 03:03:59 +00:00
simonb 3a2b42eeca Add KN03_INTR_PROD_JUMPER (from Tohru Nishimura). 1999-03-25 03:00:18 +00:00
nathanw e8b935d003 Garbage collect a non-useful variable in getcwd_scandir(). 1999-03-25 02:32:18 +00:00
perry ea0f7990a8 add a (commented out) BROKEN_LPT_DELAY 1999-03-25 02:22:21 +00:00
perry 8ade3b61ba Add two #ifdef BROKEN_LPT_DELAY's in to the central write byte
& strobe cycle. These bracket DELAY()'s of BROKEN_LPT_DELAY
microseconds. This can be used to kludge around mysterious hangs and
reboots some users experience. The cause of these failures is still
not known, but is conjectured to be hardware bug originated failures
in the bus cycle.
1999-03-25 02:17:38 +00:00
simonb 03ca5d05cf Remove trailing whitespace. 1999-03-25 01:17:51 +00:00
tron bbee1b42b1 Make it possible to set MTU via "ifconfig" at run time. "SLMTU" is now
used to set the initial value.
1999-03-25 00:52:14 +00:00
explorer 77597ecd3e Start commit of Lan Media Corp T1/HSSI/DS3 driver 1999-03-25 00:51:53 +00:00
mrg 7b93dd1117 remove opt_uvm.h 1999-03-25 00:41:46 +00:00
sommerfe f1a508e354 Prevent deadlock cited in PR4629 from crashing the system. (copyout
and system call now just return EFAULT).  A complete fix will
presumably have to wait for UBC and/or for vnode locking protocols to
be revamped to allow use of shared locks.
1999-03-25 00:20:35 +00:00
simonb 50897b84e0 Direct copy of sys/arch/i386/stand/lib/loadfile.c.
XXX: This should probably be MI in sys/lib/libsa.  After 1.4...
1999-03-24 23:51:26 +00:00
dbj 4717d3e130 fix typo allocating color framebuffer map. 1999-03-24 23:47:46 +00:00
simonb b4848d6b90 Code to initialise and add bootinfo records. 1999-03-24 23:47:37 +00:00
dbj a859ba2b23 Applied patches from Matt Debergalis <deberg@mit.edu>.
These patches include:
  Added framebuffer mapping for color framebuffer to support color wscons
    which is coming soon.
  Renamed wskbdmap_mfii[ch] to wskbdmap_next[ch]
  Changed video to be white on black instead of black on white.
  Now handles and discards mouse interrupts.
  Video and keyboard is now working on mono machines.
1999-03-24 23:15:51 +00:00
ender 235abbff06 Garbage collect a bit of old VM missed by the initial pass.
Fix supplied by Dave Huang <khym@bga.com> in PR #7226.
1999-03-24 22:28:49 +00:00
is 35bbdd4cd2 AGA: VGAonly timing (GRF_AGA_VGA), by Adam Ciarcinski 1999-03-24 22:24:42 +00:00
drochner 88a179595a regdef.h is back 1999-03-24 21:15:17 +00:00
thorpej 01ea9a1dd8 Regen. 1999-03-24 21:07:26 +00:00
thorpej 029f0b9d86 Silicon Integrated Systems OUI and the SiS 900 PHY model number. 1999-03-24 21:07:04 +00:00
augustss 0ed038285c Remove leftover definition of AUDIO_DEBUG. 1999-03-24 20:59:21 +00:00
cgd fe0bb65b38 in general, it's a good idea to make sure you at least have all of the
variables you reference, before you commit something...
1999-03-24 18:47:51 +00:00
minoura fdd6c4d819 Add function keys mapping. 1999-03-24 14:12:52 +00:00
minoura b28f2306c9 G/c amiga's key repeat handler. 1999-03-24 14:11:47 +00:00
minoura a76b0b1bf5 Shut up gcc -Wall. 1999-03-24 14:07:38 +00:00
minoura ff8cf815a8 Mach VM removal. 1999-03-24 14:01:50 +00:00
simonb 71bb7683db Initiailise to bootinfo pointer to NULL. In lookup_bootinfo(), if the
bootinfo pointer is NULL, just return instead of trying to make use of it.
1999-03-24 12:59:15 +00:00
tron 732f052e13 Don't include "opt_uvm.h" any more. 1999-03-24 12:41:27 +00:00
tron 4cdff58b76 Don't include "opt_uvm.h" any more. 1999-03-24 12:16:50 +00:00
tron 75377e1815 Don't include "opt_uvm.h" any more. 1999-03-24 11:35:30 +00:00
tron 1eb060a0ba Remove remaining "ifdef UVM" checks. 1999-03-24 11:23:45 +00:00
tron e1d80e2d51 Don't include "opt_uvm.h" any more. 1999-03-24 11:21:47 +00:00
tron 057ae88da9 Don't include "opt_uvm.h" any more. 1999-03-24 11:05:31 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
sommerfe b6c36d0fe4 fix union node lock to sleep on something it'll be woken on.. 1999-03-24 05:53:59 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
cgd 9639d2bb98 modify udv_attach() and its caller (uvm_mmap()) so that it's passed the
offset and size of the requested region to be mapped, so that the
udv_attach() can use the device d_mmap() entry to check mappability
of the requested region.
1999-03-24 03:52:41 +00:00
jonb a50349ea32 Comment out options that are already the default... (I'm leaving them
around as an example of what to change if needed.)
1999-03-24 03:48:04 +00:00
nisimura f719570f0a - Restore 'regdef.h' lost since last January. 1999-03-24 03:45:36 +00:00
cgd 37c88c58da after discussion with chuck, nuke pgo_attach from uvm_pagerops 1999-03-24 03:45:27 +00:00
mycroft 006ee23e99 Fix another problem is the modified bit emulation that caused double faults.
We need to set the L2 type preemptively, as it may still be L2_INVAL if the
page had not been previously accessed.
1999-03-24 02:45:27 +00:00
simonb 0ba02670be New bootblock directory structure. 1999-03-24 02:07:22 +00:00
mycroft 11d7efb7ba Forgot a return instruction in the error case. 1999-03-24 01:51:56 +00:00
simonb 0074502b0a o Add bootinfo support by checking the fifth and sixth arguments for a
magic number and a pointer to the bootinfo data.
   XXX: A bootinfo_magic record is not checked for at the moment, even
        though test bootblocks initialise the bootinfo data with one.

 o Use the bootinfo symtab information in preference to searching for a
   valid a.out exec header after _end for initialising DDB.
   XXX: Should retire a.out exec header support altogether.  Loosing the
        ability to load symbols from old bootblocks isn't much of a loss.
        After 1.4?

 o Add "booted kernel" machdep sysctl.
1999-03-24 01:49:10 +00:00
thorpej 3993ee01e4 Don't enable I/O or memory access here! These bits in the PCI CSR are
set up by the firmware, and indicate which mapping types the system
supports.
1999-03-24 01:07:59 +00:00
thorpej ac0f626cca Make sure bus mastering is enabled. 1999-03-24 01:05:15 +00:00
thorpej 9f85a4a798 Make sure bus mastering is enabled. 1999-03-23 23:18:50 +00:00
jonb 6c6ff861c6 put in compiler options to reduce object size by half 1999-03-23 23:02:14 +00:00
simonb 729eda4324 Define a bootinfo record and initial structures that the pmax will use.
Modeled on i386 and bebox bootinfo.h.
1999-03-23 22:53:02 +00:00
simonb aca34380db If on entry the stack is within 4kB of _start, don't reset the stack
pointer to just underneath _start.  Allows bootblocks (or other kernel
calling programs) to pass more than 4 arguments if it sets up the stack
properly.

The 4kB figure may be overkill - on the pmax it only needs to be a dozen
of so bytes.
1999-03-23 22:43:18 +00:00
simonb 9913b7202b Revert SA_NOPUTCHAR - the pmax was the only port using it and the new
pmax bootblocks provide a putchar().
1999-03-23 22:25:31 +00:00
simonb c9e3b47a0f Don't build anything while bootblocks are being updated. 1999-03-23 22:23:11 +00:00
simonb f93b8168c0 Include <machine/db_machdep.h> instead of <mips/db_machdep.h>. 1999-03-23 22:15:36 +00:00
simonb 41febd3a3c Move DB_{AOUT,ELF}_SYMBOLS (and DB_ELFSIZE) definition to port-specific
db_machdep.h file.
1999-03-23 22:07:06 +00:00
simonb 027594b1eb Add CPU_BOOTED_KERNEL to CTL_MACHDEP definition. 1999-03-23 22:04:01 +00:00
thorpej 86f87d7c5f Add a new shared media option, IFM_FLOW, used to enable link-level
flow control.  IEEE 802.3x is in mind, but this could be generally
useful for different types of media.
1999-03-23 21:46:47 +00:00
drochner 1c99e4196a Use BUS_SPACE_ALIGNED_POINTER() instead of ALIGNED_POINTER() where the pointer
in not just used to access memory but is bassed to bus_space_xxx_n()
methods. For debugging purposes, bus_space can have additional constraints
which will be properly met by BUS_SPACE_ALIGNED_POINTER().
1999-03-23 21:41:07 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
bad b5348881aa Add tcic PCMCIA controller. 1999-03-23 20:08:55 +00:00
bad 23d89d53f3 config(8) glue for the TCIC PCMCIA backend. 1999-03-23 20:07:39 +00:00
bad f44fb0d91c A backend for Databook's TCIC family of PCMCIA chips.
Thanks to Andreas Lohrum, O'Reilly Verlag, Terry Moore, and Holger Czukay
for hardware, documentation, and support.
1999-03-23 20:04:14 +00:00
mycroft 1bb64b0636 __SWAP_BROKEN is no longer useful here. 1999-03-23 19:16:03 +00:00
mycroft 6bb727e736 Nuke some more code that was fetching PT_M and PT_H from pv_flags. 1999-03-23 18:39:38 +00:00
thorpej c939af8267 Oops, some source files use __IDSTRING() directly, so provide one in
the ELF case, as well.
1999-03-23 18:28:12 +00:00
wrstuden 3c8e65b670 Oops. macppc doesn't use PCLK as a baud rate source. 1999-03-23 18:07:19 +00:00
mycroft 5f63cab877 The page and section fault handling paths are essentially identical, so
combine them.  This also fixes a performance issue, in that we always
faulted pages twice in order to write them.
1999-03-23 18:02:02 +00:00
wrstuden a7678930b4 Oops. mac68k does NOT use PCLK as a clock source, so don't enable it in
the default channel setup.
1999-03-23 17:55:03 +00:00
mycroft 79e56d3237 The ARM has the same copy-on-write bug as the i386 -- the write enable bit in
PTEs is ignored when in kernel mode.  Hack around this just like we do on the
i386, by adding a prepass to copyout() to check for write permission on the
destination pages.
1999-03-23 17:14:34 +00:00
drochner 5575305f99 If no screen got the "focus" (which happens with serial console or if
the current screen is deleted), automatically give focus to the next
screen created. Saves the need to switch to a usable screen manually.
1999-03-23 15:56:56 +00:00
minoura 87c8a7e347 u?vm_page_physload args are in page. 1999-03-23 15:55:43 +00:00
christos f36829e285 s/DEBUG/LDT_DEBUG/ This got too verbose when running Wine. 1999-03-23 15:48:19 +00:00
kleink 6558e04aea Translate _PC_FILESIZEBITS. 1999-03-23 14:57:00 +00:00
mycroft 8f3d31a32b More cleanup...
* Don't bother pulling PT_M and PT_H bits from pv_flags; they can't ever be
  set there!
* Actually make pmap_clear_reference() do something useful.
* Also set the referenced bit (PT_H) when emulating a write fault.
1999-03-23 13:52:48 +00:00
mycroft da99fe308e Repeat after me:
If we're doing modified bit emulation, we must revoke write permission in
pmap_clear_modify().  This is non-negotiable.  I will revoke write permission
in pmap_clear_modify(), or suffer the wrath of a thousand bricks.
1999-03-23 13:27:48 +00:00
mycroft 3c8512dbb5 We could not possibly have been updating the pv attributed correctly in
pmap_enter(), so... make the obvious change.
1999-03-23 12:30:45 +00:00
pk b0de87c45f To clear a chunk of bus memory use bus_space_set_regionN(). 1999-03-23 12:01:45 +00:00
lukem 8a931fcdd8 Ensure that you can only bind a more specific address when it is done by the
same uid or by root.

This code is from FreeBSD. (Whilst it was originally obtained from OpenBSD,
FreeBSD fixed it to work with multicast. To quote the commit message:
    - Don't bother checking for conflicting sockets if we're binding to a
      multicast address.
    - Don't return an error if we're binding to INADDR_ANY, the conflicting
      socket is bound to INADDR_ANY, and the conflicting socket has
      SO_REUSEPORT set.
)
1999-03-23 10:45:37 +00:00
itohy e4d7e0a023 Update to OSF/1 V4. 1999-03-23 09:19:25 +00:00
dbj c1824c37af more minor changes, mostly in minor tweaks to debuggin output.
tweaks to handling dmasize != dmalen correctly.
changed minimum dma segment length for tail buffer.
1999-03-23 08:42:39 +00:00
gwr c19324e6bb Fix prototype mismatch. 1999-03-23 05:54:11 +00:00
minoura 86ecebe5e8 Move high-memory detect routine.
This seems to fix the problem that it hangs up on 040turbo without
high-memory.
1999-03-23 04:18:50 +00:00
thorpej 9d49c8139a Regen; pread(2) and pwrite(2). 1999-03-23 03:01:48 +00:00
thorpej e8a3256e7f Add support for emulating the Linux pread(2) and pwrite(2) system calls;
just call the native NetBSD versions.

PR #7202, Jaromir Dolecek <dolecek@ics.muni.cz>.
1999-03-23 03:00:51 +00:00
thorpej 845b609f97 Set the high water mark on the mbuf cluster pool to NMBCLUSTERS. 1999-03-23 02:51:27 +00:00
thorpej 9614a68c70 Fix the order of arguments to roundup(). 1999-03-23 02:49:03 +00:00
pk 54ae4d24b8 Call bus_dma_[un]load() at splbio. 1999-03-23 00:38:15 +00:00
pk c3eb74e089 Check for Sbus slave access errors.
Call bus_dma_load() with elevated priority.
1999-03-23 00:32:27 +00:00
thorpej 63b6321834 VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES. 1999-03-23 00:31:59 +00:00
pk d86e93c62a Fix promiscuous modes - patches from Jason Wright. 1999-03-23 00:27:09 +00:00
bad fee4297b62 Add IBM and 3COM ISA Token-Ring drivers. 1999-03-22 23:43:30 +00:00
bad 8bb131360c Appease GCC.
#ifdef FreeBSD some debug code as is done if if_fddisubr.c.
1999-03-22 23:14:14 +00:00
bad a4e508928f Oops. RcsID police. 1999-03-22 23:01:36 +00:00
bad e09c06e04d Regen. 1999-03-22 22:36:49 +00:00
bad 579b0fce1b Recognise IBM and 3COM Token-Ring PnP cards and associate them with the tr
driver.
1999-03-22 22:36:10 +00:00
bad ce0465b40f config(8) glue for Token-Ring and TROPIC drivers. 1999-03-22 22:33:35 +00:00
bad a5283c98c0 Add support for Token-Ring source routes in the ARP cache.
By Onno van der Linden.
1999-03-22 22:30:42 +00:00
bad b6163c625a Add LLC_SNAPFRAMELEN. 1999-03-22 22:29:27 +00:00
bad ab3f3172c5 Add ARPHRD_IEEE802. 1999-03-22 22:28:40 +00:00
bad 76c3e33738 Add if_token.h to INCS. 1999-03-22 22:27:41 +00:00
bad a8e47bd29b Add TLINK_619_POLY. 1999-03-22 22:26:27 +00:00
bad 52c3a56a05 Support routines for Token-Ring network drivers.
By Onno van der Linden.
1999-03-22 22:22:52 +00:00
bad 2c16793ee5 Chipset driver for TROPIC based Token-Ring cards.
Frontends for IBM and 3COM ISA cards.

By Onno van der Linden <onno@simplex.nl>.
1999-03-22 22:21:26 +00:00
thorpej f2a91c9b91 Put back the code to log `mb_map full' that was lost when mbuf clusters
were converted to use the pool allocator.
1999-03-22 22:06:58 +00:00
is 2ccf15e5f3 53c810A identification 1999-03-22 19:30:57 +00:00
kleink 9ee75a4fcc Add _PC_FILESIZEBITS to pathconf vnop. 1999-03-22 19:21:07 +00:00
kleink 61c3516908 Introduce _PC_FILESIZEBITS. 1999-03-22 19:14:22 +00:00
kleink 4d282292e2 Introduce EOVERFLOW. 1999-03-22 19:03:38 +00:00
garbled f124765044 More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:25:43 +00:00
drochner b2c812d776 set "fontset" variables to 0 if no appropriate font was found for a
freshly allocated screen, should fix panic if "vga_mapchar()" it
attempted later
1999-03-22 18:24:23 +00:00
sommerfe 098b6f8e8a Disallow descriptor-passing of descriptors which are open on
directories which aren't under the recipient's root.

Clean up of many error conditions involving descriptor passing, to
eliminate infinite loops, panics, premature garbage collection of
sockets, and descriptor leaks:
 - Avoid letting unp_gc() see descriptors with a refcount of zero by
removing them from the socket's queue before releasing them.
 - Avoid socket leak in PRU_ABORT (this will also gc descriptors queued
on a not-yet accepted socket when the accepting socket goes away).
 - Put in block comment explaining how unp_gc() should work.
 - Correctly manage unp_defer count so we don't get stuck in an infinite
loop with nothing to do.
 - Don't tie MARK and DEFER bits so closely together.
 - Mark descriptors queued on not-yet-accepted sockets as well.
 - Don't call sorflush on non-socket, it doesn't work very well.
 - Deal with discard of NULL file pointer.
 - Hopefully cause GC to converge faster by only deferring sockets in
unp_mark().
1999-03-22 17:54:38 +00:00
sommerfe 2f0f84b8e8 bug fix to fdavail: be consistent about taking per-process descriptor
limit into account when checking against the limit; fdp->fd_nfiles may
be greater than the current descriptor limit, and there may be space
in fdp->fd_ofiles beyond the limit.  If we say it's available,
unp_externalize will get confused and panic when fdalloc fails.
1999-03-22 17:39:44 +00:00
sommerfe 166f97ecf3 Use regular system fchroot, now that we have it. 1999-03-22 17:30:37 +00:00
sommerfe 5effda814f Use standard system fchroot instead of emulation-specific copy. 1999-03-22 17:28:21 +00:00
sommerfe 36dc99adac vinvalbuf, called from vclean, could cause a locking-against-self
deadlock in VOP_FSYNC() if the unreferenced vnode picked for
reclamation happened to be stacked on top of a vnode the process
already had locked.  This could happen if the same filesystem was
accessed both through a union mount and directly; it seemed to happen
most frequently when the direct access was through NFS.

Avoid this deadlock by changing vinvalbuf to pass a new FSYNC_RECLAIM
flag bit to VOP_FSYNC() to indicate that a reclaim is in progress and
only a `shallow' fsync is necessary.

Do nothing in *_fsync() in umapfs, nullfs, and unionfs when
FSYNC_RECLAIM is set; the underlying vnodes will shortly be released
in *_reclaim and may be reclaimed (and fsync'ed) later.
1999-03-22 17:24:19 +00:00
sommerfe 6d0f67d6aa Regen files based on changes to syscalls.master, vnode_if.src (latter
was changes to comments only, but..)
Build vfs_getcwd.c as standard part of kernel.
Add implementation of fchroot(), since two emulations already had it.
Call vn_isunder() in fchdir(), chroot(), and fchroot() to make it harder
to escape chroot().
1999-03-22 17:13:34 +00:00
sommerfe 095cd96cd5 Change namei cache to record vnode->(parent,name) entries (for directories).
Add kernel implementation of getcwd() which uses this cache, falling
back to reading the filesystem on a cache miss.
Along for the ride: add new VOP_FSYNC flag FSYNC_RECLAIM indicating
that a reclaim is being done, so only a "shallow" fsync is needed.
1999-03-22 17:01:55 +00:00
sommerfe 75fb6d661f Include some comments with more details on the VOP_LOOKUP locking protocol 1999-03-22 16:57:37 +00:00
sommerfe d48e548abb defopt WSDISPLAY_DEFAULTSCREENS 1999-03-22 16:50:54 +00:00
mycroft 330c5ea7a2 Create DMA maps at open time. 1999-03-22 14:54:01 +00:00
mycroft 9e4bd01bff Make sure we clean up any DMA maps if the open fails. 1999-03-22 14:38:02 +00:00
mycroft 41d5307e95 One minor change to previous. 1999-03-22 14:32:59 +00:00
mycroft f887d74c45 Nuke sc_iooffs from orbit. This is exactly what bus_space_subregion() is for. 1999-03-22 14:29:14 +00:00
mrg 8fcaa99d1b KNF nits. 1999-03-22 13:08:51 +00:00
mark f88d8c6a35 In the light of PRs 7122 & 7123 temporarily define __SWAP_BROKEN until
the problem these bug reports described is fixed and they are closed.
1999-03-22 10:24:04 +00:00
mark 34a92d6f82 Fix addressing problem for the aux status register. Whilst reads of this
read appear to be aliased in the address space, writes are not thus the
correct address is important in order to reset drives.
1999-03-22 10:14:12 +00:00
mycroft 6ada3afd8b Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
1999-03-22 10:00:09 +00:00
mycroft 2cccf3bd4a Update callers of isapnp_devmatch(). 1999-03-22 09:44:12 +00:00
mycroft cbd5623c72 Add support for switching Aztech chips into WSS mode. 1999-03-22 09:43:12 +00:00
mycroft 86d586012a Regen. 1999-03-22 09:41:58 +00:00
mycroft 8e0df99c1e Add variants numbers, and Aztech AZT2320 bindings. 1999-03-22 09:41:10 +00:00
mycroft 77274e73c6 Add a `variant number' to the tables, so we can handle slight variations in
the chipset without doing something substantially more gross.
1999-03-22 09:38:57 +00:00
ross be177a7fd4 PCI: +bha
+en
	+ex
	+fxp
	+le
	+pcscp
MII:	+exphy
EISA:	+ahb
	+uha
1999-03-22 09:19:57 +00:00
ross 60fe60deaa Enable fuword(9), fuiword(9). 1999-03-22 09:17:11 +00:00
minoura c36508e32b Use bus_dma(9) for DMA bouncing.
The code is dirty.  It should be rewritten in the future.
1999-03-22 08:54:14 +00:00
chs 31839fe71d fix previous, I got carried away with cut+paste. 1999-03-22 08:44:37 +00:00
mycroft cfe7413adb Make 48KHz output work. 1999-03-22 07:58:55 +00:00
mycroft 5f6bb6237b Do the splaudio()/IPL_AUDIO hack here, too, so that MPU attachments can see
it.
1999-03-22 07:57:15 +00:00
mycroft df7eadf2d6 More PnP/audio goo. Need an Alpha joystick driver. B-) 1999-03-22 07:55:14 +00:00
mycroft 8e621ce2ee Add MIDI and sequencer devices. They seem to work, even. 1999-03-22 07:52:56 +00:00
mycroft a873302b17 Add a SonicVibes. 1999-03-22 07:51:28 +00:00
mycroft 2fba0f875b More sound cards for testing... 1999-03-22 07:50:29 +00:00
mycroft 878708a06b Adjust for MPU attachment change. 1999-03-22 07:41:36 +00:00
mycroft fd400e0ddc Add a kluge to ignore I/O and memory ranges with a size of zero, so we don't
blow up in bus_space_{map,unmap}().  At least one card uses this to `disable'
a logical device.
(XXX There's probably a better way to do this.)
1999-03-22 07:40:57 +00:00
mycroft ccbad3061c Add a mpu_isapnp attachment. 1999-03-22 07:39:33 +00:00
mycroft 97de30ff26 Several things:
* Rearrange the speed mapping table and adjust the code so that the highest
  rate can actually be used.  Previously we ended up rounding up slightly
  lower speeds and then losing because set_params couldn't set the mode
  back to the current one.
* Allow 260 as a valid I/O address, since the SB1 can be jumpered to this.
* Change the MPU-401 code so it can be attached as a separate device.
  (XXX Really, the SB code ought to just attach a subdevice itself.)
* Do not attach an OPL on the SB1.  Writing to the OPL registers at
  SB_base+0 on this card wedges my machine.
  (XXX Should we access it at 388 instead?  The Creative web site claims
  that this board *does* have an OPL2, but I haven't played with this
  extensively.)
* Allocate the SB DMA channels at open time, rather than attach time, so
  that a single DRQ can be used for multiple cards (if only one is in use
  at a given time).
  (XXX Let me tell you why this is a horrible hack.  If the ISA DMA code
  tries to allocate a bounce buffer after boot time, it will generally fail,
  because there is no contiguous memory below 16MB and the code to allocate
  contiguous pages doesn't know how to move things around.  Now, we
  shouldn't ever be using bounce buffers here, because we use
  isa_dmamem_alloc().  So we just turn off BUS_DMA_ALLOCNOW and we don't
  actually try to.  That's cool, and it even works, but isa_dmamem_alloc()
  has the same problem.  It just happens that we allocate the ring buffers
  at boot time, and whenever we reallocate them (due to the buffer size
  changing), we just deallocated the previous (contiguous) buffer, so we get
  lucky.  This is absolutely disgusting and needs to be fixed.)
1999-03-22 07:37:35 +00:00
mycroft 1337db796b Adjust the probe routine to work on chips where the mic preamp bit is shared
between register I0 and I1.
1999-03-22 07:27:46 +00:00
mycroft ee5f90d04c If bus_dmamap_create() fails, free the DMA channel. 1999-03-22 07:06:09 +00:00