Commit Graph

73 Commits

Author SHA1 Message Date
drochner 0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
thorpej 1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
dbj 45ec8742b1 minor rework of dma driver
now uses the DMACSR_READ bit and no longer keeps _nd_dmadir in softc
unified transfer cleanup code, now in routine next_dma_finish_xfer()
fixed bounds checking on registers after transfer.
removed checking for bus errors since the bit is always set on some nexts
(specifically, on mourning, a 25mhz 68040 mono slab)
fixed a couple of dma bugs involving chaining dma buffers.
1999-08-29 05:56:26 +00:00
dbj ec9b8358dc made debugging printfs switchable at run time via the "xe_debug" variable. 1999-08-29 05:51:45 +00:00
dbj a47891200f fixed DMACSR_BITS definition to reflect DMACSR_READ bit renaming 1999-08-28 09:42:44 +00:00
dbj 3c215084bc discovered the purpose of another bit in the dma control register.
DMACSR_READ is now a CSR status bit which can be used to know if current transfer is
from cpu to device.
the old DMACSR_READ bit is renamed DMACSR_SETREAD.  This is a control bit that tells
the dma transfer to be from cpu to device.
1999-08-28 09:19:04 +00:00
dbj 383544139f remove some debugging hacks that were no longer being used. 1999-08-17 05:09:13 +00:00
dbj ab21be8e3c implement _bus_dmamap_load_raw_direct 1999-08-17 05:07:59 +00:00
dbj 18221f52fc changed dma segment field "ds_read_len" to "ds_xfer_len" since it is valid for
either read or write transfers.
1999-08-05 01:50:59 +00:00
dbj 29ed3cd11b added define for %b bitfield labels 1999-08-03 10:03:22 +00:00
dbj 705311bcee resync bus_dma functions with current alpha versions.
added a field to a dma segment to return the actual length of that segment that
was successfully transferred.
1999-08-03 09:16:00 +00:00
dbj 34fbdba354 defopt SERCONSOLE 1999-08-03 09:02:10 +00:00
dbj 9eb133fc08 removed unused variable. 1999-08-03 06:55:21 +00:00
thorpej 3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
abs b02dbae17e In xxx_mediachange(), if there is no callback to the front-end, just
return 0 instead of EINVAL.  In this case, there will only be one media
type, and the upper-level if_media code will ensure that the user is
setting to that type.
This matches changes Jason made a while back to sys/dev/ic/lance.c
1999-06-23 04:17:10 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
bad c98240fc07 Don't use the direct console on color machines, which is currently not
supported.  Use serial console instead.
From Matt Debergalis PR 7488.
1999-04-29 14:51:20 +00:00
dbj 2e0fe35095 added kgdb support. 1999-03-27 02:59:41 +00:00
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
dbj d1bbf5a190 Added support for using wscons as console.
Enabled wscons as default console.
Use option SERCONSOLE now to use serial console instead now.
1999-03-26 04:42:59 +00:00
dbj 5a7e7178c8 fix polled keyboard support 1999-03-26 04:17:46 +00:00
dbj 0fabf8441f add KS_bar and KS_backslash to default us keymap. 1999-03-26 04:15:27 +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
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
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
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
dbj 00c8d4dd90 changed dma start alignment from 4 to 16 so that the cache flush
functions always have cache line aligned segments.
continued experimentation with scsi driver.
1999-03-14 10:31:05 +00:00
dbj bb8f1300ce moved declaration of nextdma_intr into correct header file. 1999-03-04 14:18:25 +00:00
dbj 1f4e96b222 continued experimentation trying to understand why we drop
scsi write completion interrupts (the dma appears to complete ok)
Now copy read tail buffer after we bus_dma_sync it and not before.
1999-03-03 16:02:23 +00:00
dbj e7058e7205 turn on diagnostic check in dma for controller bits at shutdown.
adjusted esp overrun to avoid diagnostic check triggering.
1999-03-02 12:11:24 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
dbj f651d280fa Continue hacking on esp driver. Seems relatively stable in read only mode.
write operations appear to lose scsi interrupts and causes timeouts.
changes in this checkin include:
a nextdma bugfix causing a diagnostic check to erroneously trigger
Changed tail strategy to only use tail buffer for the minimal end slop
changed expected write dma overrun to 32 bytes.
turned on nextdma diagnostic check for dma end address since it
no longer gets triggerred by ethernet dma and helps debug scsi dma.
Added esp debugging printout and support.
1999-02-14 10:19:51 +00:00
dbj 997f74e47c Continued work on esp scsi driver. Now can at least do enough i/o to create and mount
a filesystem, but is not stable enough yet for general use.
increased priority of ethernet interrupts, mostly useful to aid debugging
of scsi interrupts while using an nfs disk.
added additional debugging output in the next dma driver.
perform extranneous cache flushes/purges before dma reads/ after dma writes
to aid debugging of scsi dma.
1999-02-13 09:44:50 +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
dbj 3e0d6eb0b4 overhalt of scsi driver.
it still probes the disks ok, but is having trouble with 0xdeadbeef
in buffers read from the disk.  Suspected problems with DMA alignment
and toggling the secret ninja dma control register
1999-02-03 20:44:43 +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
dbj f41cded075 make dma flushing more efficient and avoid stray interrupts when not using polled io.
remove check for normal chaining interrupts and add check for combined chaining interrupts
only when used with a tail chain.  This allows scsi to work for short unaligned buffers
and large aligned buffers.
1999-02-02 14:04:53 +00:00
dbj d97559225c Removed some already commented out test code.
added debugging printout when invoking polled dma interrupt.
1999-02-02 12:46:13 +00:00
dbj f6955fc60b Fix return value in interrupt routine so that dma gets flushed correctly.
Turn on the esp_match since polling the scsi bus now works.
1999-02-01 12:53:48 +00:00
dbj 7919e08986 wscons based console video & keyboard support for the NeXT
from Matt DeBergalis
1999-01-28 11:46:22 +00:00
dbj 49ad0ddfa1 Continue work on scsi driver. Added tail dma buffer. Still non functional. 1999-01-27 06:37:49 +00:00
dbj b9795e9e3c Fixed dma instability introduced with nextdma.c rev 1.7
This fix removes putting 0xfeedbeef in the unused restart registers.
When that was done, the machine would panic after a short while
with 0xfeedbeef in the normal dma buffer registers.  A restart
cycle is probably hapenning without an interrupt or something.
1999-01-27 06:08:29 +00:00
dbj 48d4303235 applied patch from pr port-next68k/6704: next68k zs driver formatting error
zs driver needs to print a newline.
1999-01-02 12:47:50 +00:00
dbj c96a4ad63d Continued work on esp driver. Now successfully identifies a scsi target.
Unfortunately, to get dma to work, we have to align past the end of
the buffer, which smashes other variables on the stack.
match function still disabled, as it isn't ready yet.
1998-12-30 12:02:03 +00:00
dbj d3e627398e changed register for start of dma buffer to be DD_NEXT_INITBUF instead
of DD_NEXT for regular dma transfers, and not just ethernet transmit.
Keep track of dma read/write direction and set it each time we start or
restart dma.  This allows scsi to work, and doesn't appear to hinder ethernet.
1998-12-30 03:05:29 +00:00
dbj ba3bedf25e After some experimentation, now allow dma start alignment to be 4.
Removed separate alignment constant for ethernet since it appears to
be unnecessary.
1998-12-27 09:03:14 +00:00
dbj ea8f01b987 Continued experimentation on SCSI driver.
Added nextdma_debug variable to control debug printouts in nextdma driver
when ND_DEBUG is defined.
1998-12-26 06:17:44 +00:00