Commit Graph

714 Commits

Author SHA1 Message Date
wrstuden 2adccc50fa Add pps support. Only enable pps if CLOCAL & !MDMBUF. 1999-03-27 01:21:36 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
mrg 7b93dd1117 remove opt_uvm.h 1999-03-25 00:41:46 +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
pk 1e0c7c3ed1 Fix various things that kept this bus front-end from functioning.. 1999-03-18 21:33:14 +00:00
pk 9ae1ca2595 Got a VME probe result backwards. 1999-03-17 23:20:16 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
jonathan 69d2d27c1b Use bus_space tags and handles, embedded in MD hooks AM7930_{READ_WRITE}_REG
to handle MD delay and bus padding. Tested on sparc2 by David Brownlee.

Should use regmaps, but that breaks sparc pDMA assembly code.
1999-03-14 22:29:00 +00:00
pk a1aa41e201 consinit: cover all cases. 1999-03-05 08:30:33 +00:00
pk e2909faa19 Sanatize consinit() a bit. 1999-03-02 13:40:05 +00:00
pk 372e76a3bb Since V2 & V3 proms already pass us ihandles for stdin and stdout,
there's no need to open the device a second time. It suffices to
just convert the `ihandles' to `phandles'.
1999-02-22 17:15:30 +00:00
pk 8d45c4eb84 Use promlib version correctly. 1999-02-16 07:22:17 +00:00
pk 8edcd03969 Use the PROMLIB interface. 1999-02-14 12:44:31 +00:00
mycroft 2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
bouyer f6f9f8a965 Change DIOCEJECT to do what's needed to eject a device before the eject
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
fvdl 1461618ead Make this compile for SUN4 only. 1999-02-08 00:13:20 +00:00
jonathan c9d036d796 defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}. 1999-02-07 09:34:58 +00:00
mycroft be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
pk 6a8119ff1d Sanity check from Matthias Drochner. 1999-01-15 00:26:24 +00:00
abs 4b0a936711 fix void arithmetic 1999-01-13 04:19:08 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
pk ec34e18063 Don't map sbus `registers' on sun4c (i.e. sbus @ mainbus); it's almost
certainly not the control space we want..
1998-09-20 20:08:52 +00:00
pk 0a6347a24d Provide an error entry point like sbus and memory. 1998-09-19 16:45:43 +00:00
pk 812eb8c1da Add %b format strings. 1998-09-19 16:44:59 +00:00
pk 25d48215a2 Map Sbus control registers. 1998-09-19 15:49:50 +00:00
pk 8381b55bd7 Add a bunch of SBus control register definitions. 1998-09-19 15:48:55 +00:00
pk e21c0b3450 Need to cast sbus attach `prom_vaddrs' field. 1998-09-07 07:15:51 +00:00
pk c4c4e35608 Undo last change (we're passing the address of a pointer here). 1998-09-07 07:11:11 +00:00
eeh 484ce04810 The `address' field from the prom is really an unsigned 32-bit value.
Make it so.
1998-09-05 22:29:49 +00:00
eeh 5dc93bd9fe Remove function naming conflict. 1998-09-05 22:15:51 +00:00
pk b39d7e33be Assign my copyrights to TNF. 1998-09-05 15:42:41 +00:00
pk 2c9a80baf4 Assign my copyrights to TNF. 1998-09-05 14:01:08 +00:00
pk 6f2539f8a6 getpropA() => getprop(). 1998-08-30 21:26:46 +00:00
pk fe6b9295a8 Adjust for some small changes in lsi64854 back-end driver. 1998-08-29 21:43:00 +00:00
pk e4091cb757 Split `esp' driver and DMA engine into separate front-end files.
The Sbus front-ends have all been moved to `sys/dev/sbus', while
the `obio' front-ends remain here.
1998-08-29 20:49:35 +00:00
pk 1f0567dd53 Nuke unnecessary header files. 1998-08-29 20:38:38 +00:00
pk 8e0c62893c Remove cache flush from dma_espintr(); the bus dma routines take care
of that now. Hence we no longer need <sparc/cpuvar.h>.
1998-08-28 20:14:36 +00:00
pk ca868d7da6 Specify our boundary restriction when allocating DMAble memory. 1998-08-28 20:07:52 +00:00
pk f6a208ce6b Nuke Dprintf; fix formats. 1998-08-28 08:57:38 +00:00
mrg 82571f5403 move isp sbus attachment to dev/sbus 1998-08-27 11:41:24 +00:00
pk c6905522d2 These files are no longer used. 1998-08-24 07:23:10 +00:00
pk 66795e62e7 Move sparc_vme_dmamem_map() outside `#ifdef SUN4M' 1998-08-23 10:40:38 +00:00
pk 2a6be00de5 Rename DVMA constants. 1998-08-23 10:05:53 +00:00
pk 666587112f Use bus_dmamem_{alloc,free} instead of the old VM hack. 1998-08-23 10:04:56 +00:00
pk f318f15bc3 Convert to [pv]addr_t. 1998-08-21 14:07:37 +00:00
pk 363b678b9e Flesh out more of the sun4 busdma functions. 1998-08-20 20:46:59 +00:00
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
mycroft 62b1bf3e2e Assign my copyrights to TNF. 1998-08-15 10:51:16 +00:00
mycroft 129cbf95ee Minor edit. 1998-08-15 05:16:41 +00:00
mycroft b2827b9d36 Assign copyright to TNF. 1998-08-15 04:16:55 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
mjacob 5ad5bb35af minor change to make the message less linux like 1998-08-12 00:03:23 +00:00
pk a0818b4b8b Use bus_dmamem_alloc/bus_dmamem_map. 1998-07-31 22:21:35 +00:00
pk 519f1f7f0e Convert to bus dma. 1998-07-31 15:53:11 +00:00
pk c206cad36e Convert to bus_dma. 1998-07-31 12:45:48 +00:00
thorpej ecf815f930 Back out previous; it is perfectly reasonable, and desirable, to print out
debugging info ifdef DEBUG.
1998-07-31 02:10:12 +00:00
mjacob 36f9ab27ce >We're not Linux. If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.
1998-07-31 01:56:49 +00:00
pk af89712b25 Use bus_dma_*() instead of dvma_mapin/dvma_mapout. 1998-07-30 22:42:04 +00:00
pk 32a5557426 Adapt to changes in the base bus_dma* functions. 1998-07-30 22:29:34 +00:00
pk 741c837f77 Get to DMA map functions through parent tag, instead of calling some base
functions directly.
1998-07-30 18:54:06 +00:00
pk 9104b183fa Lots of things have moved to <dev/sbus/sbusvar.h> 1998-07-29 18:45:57 +00:00
pk 402a052405 Deal with sbus attach args changes. 1998-07-29 18:44:22 +00:00
pk 9e4d2f9b53 Switch to new sbus attach arguments layout. 1998-07-29 18:42:32 +00:00
pk 58d952ce7d Deal with sbus attch args changes.
Use sbus_destroy_attach_args().
1998-07-29 18:37:23 +00:00
pk 426330f642 We no longer need to get the register sets by ourselves. 1998-07-29 18:36:08 +00:00
pk 718ff722b7 In the reset() function, preserve the current cable selection bit.
If in auto media select mode, this avoids losing carrier every time
the lance code decides to re-initialize.
1998-07-29 16:10:57 +00:00
pk cc0d537633 GC. 1998-07-28 14:04:08 +00:00
pk 14f4493376 Magma driver has been moved to <dev/sbus>. 1998-07-28 00:19:22 +00:00
pk 4ca3b5c079 We no longer use these. 1998-07-28 00:06:23 +00:00
pk 3d9b1710a7 This file is now in dev/sbus. 1998-07-28 00:05:41 +00:00
pk c7a2e942b0 Split the `le' driver front-ends into separate files.
The sbus and lebuffer front-end have moved to dev/sbus.
1998-07-27 23:59:11 +00:00
pk eec66e52bd Get headers from <dev/sbus> 1998-07-27 22:34:48 +00:00
pk d1f03e068a <sparc/dev/sbusvar.h> => <dev/sbus/sbusvar.h> 1998-07-27 19:32:42 +00:00
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