Commit Graph

1332 Commits

Author SHA1 Message Date
uwe a05702eaac Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
    tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
    i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.
2002-03-12 04:48:28 +00:00
chs b0263218b6 override cn_trap() with zs_abort() so we can drop to the monitor
if there's no DDB.  fixes PR 12547.
2002-03-11 07:11:26 +00:00
lukem cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
thorpej a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
chs 759dc33636 make this compile without DDB. 2002-03-08 06:03:50 +00:00
tsutsui 98c71d1fdd Fix calculation of dma segment length
when the DVMA range is crossing the boundary.
Approved by eeh, and fixes port-sparc64/15200.
2002-03-06 17:12:51 +00:00
tsutsui 3c8b0446fe Change type of dumpmag to u_int32_t since it is actually
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
2002-03-06 13:10:18 +00:00
simonb 9bcc70fa1d Don't cast argument to ffs() to long.
Per discussion on port-alpha, noticed by Robert Elz.
2002-03-05 09:40:38 +00:00
mrg ccc760f047 check _KERNEL_OPT for opt_ddb.h 2002-03-02 12:28:16 +00:00
martin f801cd463b Rename EBUS_PADDR_FROM_REG uses to EBUS_ADDR_FROM_REG. 2002-03-01 11:51:00 +00:00
martin 7d9d648a64 For aesthetical reasons use bus_addr_t instead of paddr_t in the BUS_ADDR
makro. Requested by uwe.
2002-03-01 11:34:36 +00:00
martin feaf0ddd87 Cast the "io" parameter of BUS_ADDR to paddr_t before it gets shifted.
This makes this makro work with smaller values passed for io. No functional
change.
2002-03-01 07:19:29 +00:00
simonb 4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
pk f478419a29 Calling pmap_zero_page() (in #if DEBUG section) from pmap_bootstrap() hangs
an E250; comment it out.
2002-02-27 16:09:51 +00:00
christos e8116a8f5b - Use DEV_ constants, instead of documenting the numbers!
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
2002-02-27 01:20:51 +00:00
christos 6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +00:00
eeh 1eb3484425 Fix PR# port-sparc64/13811: PCITAG_SETNODE() is defined using `x' insted of `t'.
from URA Hiroshi
2002-02-26 22:39:14 +00:00
simonb d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
scw c4dbe1a160 Allow MD code to provide functions for reading/writing NVRAM/RTC
locations. If passed NULL, the old behaviour using bus_space_{read,write}_1()
is used. Otherwise, all access to the chip goes via the MD functions.

This is necessary for mvmeppc boards where the mk48txx NVRAM/RTC is not
directly addressable.
2002-02-23 17:18:54 +00:00
eeh 93ead6c5e0 Fix pr sparc64/15633: datafault at tlp_start causes panic
Also clean up some additional 32-bit kernel printf issues.
2002-02-21 02:42:27 +00:00
wiz 37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
simonb 2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
chs b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
martin 1b4393c5db Cast/format fix to make this build on 32bit kernels. 2002-02-12 20:50:47 +00:00
wiz 3cc2ef9997 Update description for icsphy. 2002-02-10 17:36:52 +00:00
mrg bf06edf092 give splode 8 raid devices 2002-02-10 15:49:39 +00:00
eeh 48198ba7ca Fix microsecond calculation in microtime. 2002-02-09 05:01:39 +00:00
eeh c068b28bac Increase NMBCLUSTERS. 2002-02-09 04:58:53 +00:00
eeh c42bdc6b14 Correctly take into account the satck bias in CLKF_INTR(). 2002-02-09 04:50:13 +00:00
eeh 424177d21b Provide more info in psycho_ue. 2002-02-08 20:04:14 +00:00
eeh bfba946595 Handle the case where a DMA operation wraps from the end of a page to the
beginning of the same page properly by double-mapping that page.
2002-02-08 20:03:45 +00:00
eeh 4daea20c93 Move a brace so this will compile w/o DEBUG. 2002-02-08 00:47:04 +00:00
eeh d3d818a6f4 Fix register allocation in microtime(). 2002-02-07 22:23:01 +00:00
eeh 6390142ec0 Make bus_space_barrier() an inline instead of a function vector. 2002-02-07 21:36:54 +00:00
eeh 92ef550481 Overhaul iommu_dvmamap_load_raw(). 2002-02-07 21:35:26 +00:00
eeh e16b1e8bf6 Add a sound driver for Blade 100s (which doesn't seem to do much. All I
get is the sound of silecne.)
2002-02-05 01:55:49 +00:00
eeh f0684202f9 Shift the UPAID in the correct direction. 2002-01-29 01:15:50 +00:00
jdolecek 6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
mrg 81cfc30e85 turn on BLINK & bridge 2002-01-22 01:23:18 +00:00
jdolecek ff8305bbac Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).
2002-01-21 21:56:57 +00:00
eeh 40f4f638ed More 32-bit cleanup. 2002-01-21 18:50:36 +00:00
mrg 319101532e - reduce INSTALL size by 2.5MB. 2002-01-21 13:47:25 +00:00
mrg 61d679b8c1 convert sparc64 to use `makefs' rather than vnd/newfs/mount. this severely
cleans up a lot of the processing here.


XXX: note that the sparc64 "INSTALL" kernel's file system has a copy of
GENERIC in /netbsd.  fix this shortly.
2002-01-20 05:57:10 +00:00
oster 39b858e3bf Add new RF_* options for RAIDframe bits that are no longer built by default.
While we're here, enable RAIDframe (and RAID_AUTOCONFIG) by default for
architectures that I'm comfortable can deal with it being on by default.

Also: bump the number of 'raid' devices from 4 to 8, since 4 seems to
be insufficient in practise.
2002-01-19 18:45:06 +00:00
mrg 194652a3c1 update to reality, even if it still does not quite work. 2002-01-19 14:49:18 +00:00
eeh 85bf931596 Be more tolerant of unaligned stack pointers. 2002-01-17 22:23:47 +00:00
eeh b60e750cca Enable block insns in bcopy and bzero. 2002-01-17 02:26:37 +00:00
eeh c2d74dc6cd In bcopy use 32-bit comparisons in 32-bit kernels. 2002-01-16 22:44:48 +00:00
eeh 14dced409e Use correct calculation for the trapframe in softtrap for ILP32. 2002-01-16 18:52:35 +00:00
eeh 9ed29324e3 Fix ILP32 bug. 2002-01-16 18:49:22 +00:00