Commit Graph

638 Commits

Author SHA1 Message Date
pk db822a6c0a These files are now in <dev/sbus>. 1998-07-27 19:17:50 +00:00
pk e92f09b2b7 SBU_BURST_* are now in <dev/sbus/sbusvar.h> 1998-07-27 19:16:49 +00:00
mrg c5e180526b these have moved to sys/dev/sbus. 1998-07-27 05:48:42 +00:00
pk c6124a986a This file is no longer used. 1998-07-25 22:19:25 +00:00
pk 91f18e727f Remove conditionals on SUN4C+SUN4M.
A few cosmetic changes.
1998-07-24 21:08:16 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
thorpej 9df67db949 We're not Linux. If we still want driver version strings to be displayed
at boot, then I suppose DEBUG is a reasonable compromise.
1998-07-20 21:18:38 +00:00
mjacob 99ff11f6b7 locking now out of main framework for isp_reset/isp_init 1998-07-18 21:02:06 +00:00
mjacob bc355c6b3f new framework 1998-07-15 19:59:45 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
jonathan dbe5213b11 Split arch/sparc/dev/amd7930.c into:
* MI sys/dev/ic/{am7930.c,am7930var.h} chipset driver
  * sparc frontend.
Presere revision history (this time).

TODO: bus.h'ify,  and padded register mappings.
1998-06-24 11:09:23 +00:00
pk 3f6155e843 Update from Iain for the parallel port stuff. 1998-06-07 21:14:17 +00:00
thorpej 1c6a275e9c Only attempt the powerdown if the power register was mapped. 1998-06-06 21:40:20 +00:00
mrg ff6c535817 sync with other md_root.c files. 1998-06-06 05:12:54 +00:00
mrg 428a0d387a remove old (now broken) memory disks hooks code. 1998-06-05 15:00:10 +00:00
mrg 135e6dc7e0 make this work with new md root stuff. 1998-06-05 14:57:55 +00:00
pk 87fe4d9ea1 Update from Iain on the parallel port stuff. 1998-06-03 22:38:31 +00:00
pk 229ff62ff7 Do not assume that a parallel component is always configured.
Squash compiler warnings if MAGMA_DEBUG is on.
1998-05-20 22:08:10 +00:00
pk 4e62cce89a Magma SBus serial & parallel port driver from Iain Hibbert. 1998-05-19 23:58:54 +00:00
kleink d2db996158 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:13:23 +00:00
chs 8cacea4ea0 fix a timing problem with polled output on sun4c's. 1998-04-23 04:06:17 +00:00
pk 90b5c246c6 Skeleton code for the SBus expander box. 1998-04-18 19:00:17 +00:00
pk 98e9f557c2 No need to export bus_intr_establish(). 1998-04-07 20:43:58 +00:00
pk beb02e6b82 Use bus space methods to implement the vme bus space functions. 1998-04-07 20:21:55 +00:00
pk b333d0bb62 The bus space functions now take care of "pass-through" methods. 1998-04-07 20:20:03 +00:00
pk fbc1fe8213 bus_space_mmap() has changed to take a `bus_space_handle_t *' argument,
like other bus space methods.
1998-04-07 20:18:17 +00:00
pk 3f455e21d9 The bus space functions now take care of "pass-through" methods. 1998-04-07 20:11:54 +00:00
pk e3e74bd0d5 Factor out bus code into separate files. 1998-03-31 21:05:04 +00:00
pk be4108fec1 Replace direct `sparc_bus_map()' calls with bus space map method. 1998-03-30 14:21:38 +00:00
mycroft d4da63c6c3 Eliminate cs_heldchar. It is not necessary in my version of the driver. 1998-03-30 02:41:21 +00:00
pk b782c3448c obio_bus_probe() => bus_space_probe() 1998-03-29 22:10:32 +00:00
pk 2ad26b801c Fill in the bus tag's `bus_space_unmap' method. 1998-03-29 22:06:58 +00:00
pk 82663a0330 Implement `_obio_bus_map()' and insert it into the obio bus' bus tag.
Remove obio_bus_probe().
1998-03-29 22:05:05 +00:00
pk f658122053 Check for a valid PROM virtual address. 1998-03-25 23:15:07 +00:00
pk 23521d1c5f Fix yank-and-put error in sbus attach code.
Misc. cleanup.
1998-03-23 17:37:04 +00:00
pk 4730d097ad Only print interesting interrupt levels. 1998-03-23 17:21:52 +00:00
pk 279df61dbe Fill in the pointers the MI back-end expects correctly.
Add comment and diagram explaining the memory layout (to be revisited..).
1998-03-22 22:12:52 +00:00
pk 405ec57e9f Lift the tilde a bit. 1998-03-22 20:24:05 +00:00
pk e6a2630760 Direct the Sbus bus map function through the bus tag. 1998-03-21 22:03:33 +00:00
pk 681b358c19 Account for bus_space(9)-style bus attachment scheme. 1998-03-21 20:30:49 +00:00
pk 232fa45996 Add bus tags to softc. 1998-03-21 20:29:57 +00:00
pk a21d934940 Add bus tags.
Add interrupt chaining facility (currently used for `le'; the `esp'
device should follow).
1998-03-21 20:28:44 +00:00
pk 087da728f2 Add bus tags to softc. 1998-03-21 20:25:12 +00:00
pk c99d62cc8a Account for changed bus attachment scheme. 1998-03-21 20:23:38 +00:00
pk be7f5a7031 Switch to a bus_space(9)-based device attachment scheme.
The dma & lebuffer devices behave like busses to accommodate the
OBP layout. For practical purposes, they are implemented as
Sbus "extensions".
1998-03-21 20:23:09 +00:00
pk 69fe6f242f Account for changed bus attachment scheme. 1998-03-21 20:11:30 +00:00
pk 165120cfaf Sbus attach arguments and map function prototypes go here. 1998-03-21 20:10:07 +00:00
pk 77f499595c Switch to a bus_space(9)-based device attachment scheme.
- device attachment arguments contain bus-specific
	  address and interrupt levels.

	- devices must call back on bus map functions to get their
	  addresses and interrupt levels translated properly.

	- sun4m's obio bus is treated like an Sbus slot.

	- the sun4-style obio bus has its own attach arguments
	  and map functions.
1998-03-21 19:55:31 +00:00
pk 73f387899e #define several register bank offsets, so we don't need to refer to
structure fields.
1998-03-21 19:45:45 +00:00
pk 83cec33afc Split the fb_setsize() utility in two separate functions: one to be
used by OBP machines and another one for sun4/eeprom machines.
1998-03-21 19:42:00 +00:00
pk d22f956657 Remove `_NEW_I82586'. 1998-02-28 01:15:51 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
pk 334b20bbd6 Define a `DMA_FLUSH' macro; dma chip revs 0 & 1 have a different bit
to reset the internal state engine.
1998-02-07 22:41:27 +00:00
chs abf50cf8c3 add UVM stuff. 1998-02-07 17:28:18 +00:00
pk 0725302eac vme_bus_probe() takes an `offset' argument. 1998-02-06 00:22:41 +00:00
pk 86f595fb3e This file has been moved to dev/vme a while ago. 1998-02-05 22:14:35 +00:00
mrg 5e91ce6ef1 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the sparc portion.

this will be KNF'd shortly.  :-)
1998-02-05 07:57:48 +00:00
pk 90be3b559d Use vme_bus_probe() in si_attach(). 1998-02-04 20:50:47 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej 99cc8482d1 Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call.  Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
pk bee3aa34cc Account for changed vme_bus_probe() arguments. 1998-02-04 01:04:48 +00:00
pk f060ed68ba sparc_vme_probe(): handle callback argument. 1998-02-04 01:01:14 +00:00
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
pk 72f0ab269f These drivers are now in dev/vme.
The `ie' driver has been split in a VME and OBIO front-end. The latter
lives on in this directory as `if_ie_obio.c'
1998-01-25 20:33:54 +00:00
pk 531a4b2d77 sparc/obio bus front-end to the i82586 driver. 1998-01-25 19:50:50 +00:00
pk 8bc346d14a All VME stuff is gone from here. 1998-01-25 19:44:43 +00:00
pk d44f401c95 bus_tmp() => obio_bus_tmp() 1998-01-25 16:49:33 +00:00
pk 333b6319fc Convert to new VME interface. 1998-01-25 16:38:01 +00:00
pk 4efb52487a Split si & sw attach routines, and make the si part use the new VME interface. 1998-01-25 16:37:08 +00:00
pk f8ba1e0bd9 sparc/VME bus implementation. 1998-01-25 16:06:25 +00:00
mrg c71457ab4a KNF, and use splzs over splhigh in one place. 1998-01-21 05:54:39 +00:00
thorpej 1adb4489a6 Update for changes to config. 1998-01-12 20:23:38 +00:00
mrg 7069ab9961 don't call fb_unblank if NFB < 0 1998-01-08 10:56:36 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
chuck d76941843e fix mixer code that was clearly untested:
- allow get/set of enums SUNAUDIO_SOURCE and SUNAUDIO_OUTPUT rather
	than returning EINVAL
 - add missing SUNAUDIO_MONITOR_CLASS case in query_devinfo
 - convert SUNAUDIO_MONITOR case from a MIXER_CLASS to a MIXER_VALUE
	like it is supposed to be
 - the labels for outputs/record class were swapped: fix it

this patch allows "mixerctl" to work properly on a sparc
1997-12-06 03:20:56 +00:00
mjacob 40ef7dd007 handle case of no keyboard configured 1997-12-03 22:32:05 +00:00
pk ff4f5f4528 If necessary, defer console output until TX interrupt handler runs. 1997-11-12 22:18:54 +00:00
mycroft 9e82e84056 Handle CDTRCTS, for silly Mac-like connector on some models (e.g. IPX). 1997-11-03 11:33:17 +00:00
mycroft ec5fd4954e Set rr0_dcd.
Don't set DCD_IE and CTS_IE here; let the MI code do it.
Handle MDMBUF.
1997-11-02 08:05:06 +00:00
gwr aa67eda78f Correct zs_unit in zs_kgdb_init().
Similar problem as zs.c:consinit().
1997-10-22 17:03:35 +00:00
gwr 9053a6f401 Correct the values of zs_unit in consinit(),
so ddb will work on the keyboard/display.
1997-10-22 14:39:38 +00:00
pk 004f196dcf Nuke 5.25 inch formats. 1997-10-19 23:29:47 +00:00
pk a0d6bae726 Add an odd-ball japanese floppy format (PR#2903).
A good time to get rid of the hard-coded floppy sector size.
1997-10-19 22:29:21 +00:00
christos 7507e6a5e9 Make this compile again. 1997-10-19 20:34:54 +00:00
augustss e7029fc0da Make the audio API (almost) SunOS compatible.
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
1997-10-19 07:41:33 +00:00
gwr 0308bf1ac6 Use common zs code. 1997-10-17 23:59:44 +00:00
mycroft b328298e4c Fix up includes. 1997-10-16 10:49:00 +00:00
mycroft 3081c6f8cf AudioC[A-Z] -> AudioC[a-z]
AudioElinear -> AudioEslinear
1997-10-11 12:43:51 +00:00
jtc 4229acf79d Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:37:20 +00:00
thorpej 3b4ad2b60e Copyright assigned to The NetBSD Foundation. 1997-10-05 18:15:51 +00:00
pk dc4f93c2a1 Collect sbus status and configuration registers in `struct sbusreg'. 1997-09-14 19:17:25 +00:00
pk c635b25325 In kbdattach() (the pseudo-device attach routine) wait for the keyboard
reset sequence to complete.  Just sending the reset command and rushing
off -- like it used to do -- might cause the keyboard's response to get
lost in case the remaining kernel initialization decides to interact
with the console (RB_ASK!) by calling cngetc(), which goes off polling
within the PROM.
1997-09-13 19:12:18 +00:00
pk 0bd088474a Turn on D_DSBL_WRINVAL on `ledma'. 1997-09-09 20:54:48 +00:00
pk 84877e89f6 Allow a BREAK to cause a kgdb_connect(). 1997-08-31 21:26:37 +00:00
augustss a79408b6c7 Change match routine to use "audio" as the ROM name. 1997-08-27 22:42:23 +00:00
augustss c58d387b0f Fix prototype for amd7930_set_params. 1997-08-27 22:33:59 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
augustss 6616d47838 - Change audio_hw_if a little: set_param now sets the play and record modes
at the same time instead by using two different calls.  This enables
  it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
  play and record settings are independent.
- Fix some buglets in audio.c.
1997-08-24 22:31:23 +00:00
augustss 332ad95e76 Change the MI audio driver so it attaches to the MD driver in the
normal way.  This requires adding a line to the config files to
get audio to work again.
1997-08-19 23:49:33 +00:00
mjacob 419960bd0e Changes for PCI Qlogic ISP2100 meant a few minor changes. 1997-08-16 00:33:04 +00:00
pk dd07701791 Do not use `rasterconsole' by default on this framebuffer. 1997-08-07 19:12:30 +00:00
augustss 658656bb99 Audio changes:
- Change the way attach and open works to allow multiple audio
	  devices.
	- Split the mulaw.c file into two to avoid dragging in mulaw
	  convertsion when they are not needed.  Add 16 bit alaw/mulaw tables.
	- Change the way audio properties are gotten.
	- Recognize more versions os SoundBlaster.
1997-07-31 22:33:08 +00:00
fair fc96112975 fix editing boo-boo 1997-07-29 17:55:38 +00:00
fair 4c351f243e %x -> 0x%x 1997-07-29 09:58:04 +00:00
augustss a63034762b Audio: Remove the machine dependant code I put in audio.c by mistake.
This adds another method to audio_hw_if.  Also remove a field from
audio_hw_if that was not read-only.
1997-07-28 20:56:05 +00:00
augustss d58bc6796f audio: Simplify handling of AUDIO_SETFD and committing of encoding mode. 1997-07-27 23:51:48 +00:00
augustss 9745684ebe Changes to the sudio system:
- It is now possible to handle devices that want "looping" DMA,
    e.g. the SoundBlaster correctly.  The WSS and SB drivers use this.
    To do this several new methods were introduced in audio_hw_if.
  - Different silence handling (forced by previous change).
  - The audio driver can now be mmap()-ed, but due to problems in
    the VM system only for writing for now.
  - The OSS (Linux) audio emulation takes advantage of some of the
    new features.
1997-07-27 01:16:32 +00:00
pk 0e6ca8da9f Use `target selection with DMA' by default. 1997-07-19 21:57:01 +00:00
pk 63fa13065c #include "locators.h" 1997-07-19 21:43:54 +00:00
jtk ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
jtk 9388f271a9 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:12:50 +00:00
pk af86c62d61 Get console tty size from raster console if applicable. 1997-07-07 23:30:22 +00:00
pk 3c1b9ba29b Install media functions only if something useful can be returned. 1997-07-07 16:28:44 +00:00
thorpej 7c03f46228 Don't print a warning if the returned transfer count is less than 0.
This can happen during perfectly normal operation if:
	(a) We are using DMA to select a target, and
	(b) we are interrupted by another target reselecting us.
Per discussion with Paul Krannenburg.
1997-06-26 00:31:20 +00:00
thorpej cf016f61f4 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:56:28 +00:00
pk f9d3344f9c xysize(): only call xyopen()/xyclose() if not already open, per the
current `openmask'.
1997-06-18 20:47:00 +00:00
pk 4269e0eab1 xdsize(): only call xdopen()/xdclose() if not already open, per the
current `openmask'.
1997-06-18 20:45:03 +00:00
pk 1ab49e584f Avoid "false positives" in match routines. 1997-06-10 20:59:10 +00:00
pk 2851bca951 vme_establishintr: remove SUN4 arch check; this now works on sun4m as well. 1997-06-10 20:57:48 +00:00
thorpej 38b9b3385b Update for changes in the core ISP driver. 1997-06-08 06:35:45 +00:00
pk 7de2a6f83d Use the `ranges' property to deal with VMEbus address spaces. 1997-06-07 19:16:23 +00:00
pk af40331aec Add some VME address modifiers used by vmebus_translate(). 1997-06-07 19:10:57 +00:00
pk d7b698b984 Set `rr_iospace' to PMAP_OBIO when translating relative sbus addresses. 1997-06-01 22:10:39 +00:00
pk ec02e14ae2 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:06 +00:00
pk 3137152cb5 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:04 +00:00
pk 954e31e49a Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:02 +00:00
pk 821f712972 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:15:58 +00:00
pk fb5c729d4a Use `rr_iospace' to track the MMU page type bits. On sun4c/sun4m the
iospace value is always learned from the PROM; on sun4, we infer it
from the BUS_* parameters.

This obsoletes the `bustype' argument in bus_tmp().
1997-05-24 20:08:41 +00:00
pk ae61406a77 Replace bus_tmp() by mapdev() equivalent. 1997-05-19 19:59:36 +00:00
pk f88bf0a6e9 Replace bus_tmp() with mapdev() equivalent. 1997-05-19 19:56:26 +00:00
pk c0036ae48d Remove bus_tmp(); it's just a special case of mapdev(). 1997-05-18 21:26:22 +00:00
pk 18a4aeea23 A bit of framework for sun4m VME busses. 1997-05-18 19:37:37 +00:00
pk 72d640a497 Tweak gain curve (from nsayer@kfu.com; PR#2909) 1997-05-15 22:32:56 +00:00
augustss e63a553175 Change the interface between high and lowlevel audio drivers again:
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
1997-05-09 22:16:27 +00:00
augustss c4a52794f1 Convert to new orthogonal audio encoding scheme and implement
some of the new encodings.  The change to ioctl AUDIO_GETENC is
NOT backwards compatible.
1997-05-07 18:51:31 +00:00
pk a05df4e228 * finish off support for the 82077 chip as found on sun4m machines.
* add non-dma mode bit to `specify command', so formatting disks starts
  working (thanks to Jeremy Cooper for finding out about this).
1997-05-02 13:03:44 +00:00
augustss 526ef2f618 Change the interface between the high and low level audio drivers
so that all audio encoding parameters are set at once.  This simplifies
the interface and make error checking easier.
1997-04-29 21:01:33 +00:00
pk 547d95a029 Remove esp FLUSH when residual bytes are present in FIFO, the ncr53c9x
driver will flush when necessary. Doing the FLUSH here interferes
with DMA-enabled target selection.
1997-04-27 22:12:40 +00:00
pk 2357b53997 Avoid race for the chip's interrupt pending status bits in zscnputc()
by introducing a single-character queue to defer kernel console output
until the transmitter interrupt handler runs.
1997-04-14 21:26:28 +00:00
mrg bb07095632 as per discussion with torek, allow TC=1. also add option
to allow TC=0.  the zilog documentation says not to allow
TC=0 -- however, i tested this and it "does work", as far
as i could tell, so, allow this use if so desired.
1997-04-09 13:15:13 +00:00
pk cc7899605a Move "range" property description out of generic `romaux'.
Allocate room for this property when needed in bus attachment.
1997-04-08 20:08:20 +00:00
pk efeeba419f sun4c and sun4m `aux' register bits differ slightly. 1997-04-07 21:00:34 +00:00
pk d1603d004b Use sc_hwreset() hook to reset ledma (if applicable). 1997-04-04 20:29:23 +00:00
pk cd9e3a7b59 Remove bogon from otherwise unused fdchwintr() function. 1997-03-31 20:27:32 +00:00
pk f62b65006f Clamp burst sizes to maximum value of parent.
Reset ledma from leattach().
1997-03-23 22:54:26 +00:00
mycroft 7a55cafeeb Implement set_format. 1997-03-20 16:51:38 +00:00
thorpej 9018eb5208 Use if_media to select media (or autoselect rules) on the Sun4m. 1997-03-17 03:24:26 +00:00
pk 27b2f0ec7c Fix a `new-ARP' pasto. 1997-03-15 22:13:55 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00