Commit Graph

1353 Commits

Author SHA1 Message Date
eeh
47ef6a5146 Overhaul bus space.
bus_space_handle_t now holds an address and two ASIs, one for normal accesses
and one for streaming accesses.  This allows to map individual handles
different ways, so some can use MMU bypass accesses and others use virtual
addresses.  bus_space_map() will now create handles that use bypass accesses
unles BUS_SPACE_MAP_LINEAR is passed in.  So only pass in BUS_SPACE_MAP_LINEAR
if you absolutely *need* to use bus_space_vaddr().  This removes at least one
extra level of indirection and should reduce TLB misses.

32-bit kernels have problems accessing 64-bit addresses, so they always use
virtual addresses.
2002-03-20 18:54:46 +00:00
eeh
bd48e83999 DDB_ONPANIC now needs a number. 2002-03-20 18:43:53 +00:00
eeh
bd22d9d0f1 Add PTE_WIRED bit to keep track of wired pages. 2002-03-20 18:41:53 +00:00
eeh
8ccad96d54 Add sbus_promaddr_to_handle() to convert a prom address to a bus_space_handle_t. 2002-03-20 18:39:44 +00:00
christos
7e277b5782 kill remaining PS_STRINGS instances. 2002-03-20 17:59:22 +00:00
eeh
c34c58d78e Using PSR_PIL in conjunction with the IPL results in a comparison that is
always true.
2002-03-19 19:47:57 +00:00
eeh
7a49cca31a Fix up compiler options:
1) Get things right for 32-bit kernels

2) Always use medium any memory model for 64-bit kernels for the moment.
2002-03-19 18:10:33 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
martin
94881fb123 Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
2002-03-16 16:55:51 +00:00
mrg
f87760870d tell newer binutils that our use of %g2 and %g3 is OK here. 2002-03-16 15:15:33 +00:00
mrg
f259d9d73e this file is no longer used. 2002-03-16 14:03:00 +00:00
mrg
0eed6807d4 convert to using <dev/ebus/ebusvar.h> and it's struct member names. 2002-03-16 14:00:00 +00:00
eeh
2db5a5e82f Get PCI working with the new bus_space*. 2002-03-15 07:06:23 +00:00
eeh
0923e659b7 Cleanup MMU initialization to prevent hangs. 2002-03-15 07:02:24 +00:00
eeh
01702c713d Make pmap_protect() on wired mappings DTRT. Needed to toggle write protection
on the clock registers.
2002-03-14 20:59:19 +00:00
eeh
67d564afec bus_type_t has gone away. 2002-03-14 20:57:37 +00:00
eeh
3dd69b853f bus_space_map2() has gone away. 2002-03-14 20:55:27 +00:00
eeh
01fb3f72f5 sbus_bus_map() no longer has a preferred vaddr parameter. 2002-03-14 20:54:18 +00:00
eeh
ce92edb48a bus_space_map2() no longer exists. 2002-03-14 20:51:35 +00:00
eeh
98d13341c0 bus_space_map2 no longer exists. 2002-03-14 20:50:13 +00:00
eeh
77de9a3aca Get rid of bus_space_map2(). 2002-03-14 20:46:11 +00:00
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