Commit Graph

120 Commits

Author SHA1 Message Date
drochner d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
jdolecek 89924fe79b Fix race condition between the DMA handler (which gets called
on spldma), and rest of driver/network code (which runs on splnet) in way
if->if_snd queue is accessed. Solve by using intermediate queue.

Problem found, and fix provided by Christian Limpach in port-next68k/16798
2002-05-20 20:19:36 +00:00
jdolecek 56eb55e177 Adapt this to post thorpej-scsipi world.
Fix provided by Christian Limpach in port-next68k/16928.
2002-05-20 18:03:03 +00:00
jdolecek e8895ed0a1 Various whitespace fixes, and turn 'No packet to start' message to DPRINTF().
Mostly inspired by Christian Limpach's patch in port-next68k/16978.
2002-05-18 14:33:35 +00:00
jdolecek 88203d9c69 whitespace & formatting fixes, from Christian Limpach in port-next68/16798 2002-05-18 14:09:44 +00:00
jdolecek 8d0d2a392c make kgdb buildable again, g/c next68k/stub.c
Changes by Christian Limpach in kern/16794, with some minor adjustment
by me.
2002-05-17 06:44:03 +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
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
jdolecek 901ba4babe remove unused defines; they duplicate appropriate defines from
<dev/ic/ncr53c9xreg.h> anyway
2001-09-16 10:39:10 +00:00
jdolecek 7f5706b514 fix indentation 2001-09-14 18:29:08 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
dbj ef86c3badd fix handling of transmit length calculation so we now handle full length xmits 2001-06-16 09:18:46 +00:00
dbj e9d708e25b allow unaligned pointers in bus_dmamap_sync 2001-06-16 09:08:05 +00:00
dbj 093fab47ce remove extra args from printf 2001-06-15 21:56:06 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
chs 21b70bf745 assert that pmap_extract() succeeds. 2001-05-28 22:11:45 +00:00
chs 11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs 952609a853 fix printf format strings and the call to ncr53c9x_attach() so that
this compiles again.
2001-05-23 02:14:07 +00:00
chs b98b7c2224 turn on printf format-string checking and -Werror. fix all warnings. 2001-05-13 16:55:37 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
dbj 6456e9d8a9 increase maxsegs of esp main dma map by one to avoid error
tweak esp glue to read xfer_len from dma map
add some debugging checks for dma driver invariants
read DD_LIMIT instead of DD_SAVED_LIMIT on scsi dma shutdowns
2001-04-17 03:42:24 +00:00
dbj b2bff5fc7f add receive ethernet bpf tap
keep receive ethernet crc and set M_HASFCS
change bus_dma MD fields to keep xfer_len for entire map
  instead of per segment
turn off automatic dma restarts in preparation for changing
  scsi driver to handle them.
add dma debugging routines to keep history of dma states
tweak checking for unusual dma limit register
2001-04-16 14:12:12 +00:00
dbj 179671f564 automatically restart dma for unexpected shutdowns 2001-04-07 13:02:55 +00:00
dbj b2e3cc1a2e continue to tweak nextdma detection of xfer length
add check to esp driver for incomplete transfers, but still does not handle them.
2001-04-07 11:29:50 +00:00
dbj 4db02d75fa initialize zsaddr to intio address space in zs_attach
addresses pr 6770
in the future, zs should be upgraded to use NEXT68k_INTIO_BUS_SPACE
instead of using IIOV directly.
2001-04-05 05:35:12 +00:00
dbj 6c04c75c6c No longer clobber the DMACSR_SETENABLE bit in the dma interrupt
Add the ability to handle unexpected dma shutdowns
2001-04-02 05:29:43 +00:00
dbj a5523b0bfd remove unused ifmedia fields 2001-04-02 05:29:42 +00:00
dbj dff3edd66d removed unused mediachange routines
changed ethernet receive to handle unexpected dma shutdowns
2001-04-02 05:29:42 +00:00
dbj 235c2b2545 reenabled flushcount diagnostic check.
tweaked formatting on hex dump debugging routine
2001-04-02 05:29:42 +00:00
dbj 36f2be46e8 purge the cache on BUS_DMASYNC_PREREAD instead of BUS_DMASYNC_POSTREAD 2001-04-01 01:42:51 +00:00
dbj 41833a3286 comment out device register structure definitions, used for reference only.
remove unnecessary BUS_SPACE_MAP_LINEAR when mapping ethernet dma registers.
2001-03-31 06:56:54 +00:00
petrov 1c9cc1b092 use NCR_F_DMASELECT instead of ncr53c9x_dmaselect 2001-03-29 03:30:19 +00:00
soren 912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +00:00
thorpej dc9a8ec9dd Use splnet() to block network interrupts, not splimp(). 2001-01-14 17:33:48 +00:00
dbj e992baf394 fix logic error in bus_dmamap_sync that was preventing from flush/purging
full pages instead of only by cache lines
2000-12-26 07:27:01 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
dbj 15034fe38a add rnd_source field to mb8796_softc
this fixes compile problems with rnd pseudo-device added to GENERIC kernel
patch submitted by greg oster
2000-10-09 10:45:45 +00:00
deberg 623e319553 add support for 12-bit color displays, from Timm Wetzel w/ changes by
me.  closes 10741.
2000-09-29 06:35:57 +00:00
tv 650553215e %b -> bitmask_snprintf() 2000-08-09 02:26:26 +00:00
mrg 4fa952b49a remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:58:50 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
nisimura 4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
matt c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
deberg d2a30703b6 we don't have callrom(), so stop pretending otherwise. fixes PR
next68k/7257.
2000-03-06 04:14:15 +00:00
dbj b2236223c9 applied patch from "Christian Limpach" <chris@Nice.CH>:
I've fixed the problem that's been keeping me from using anything newer than
   1.4.1 now.  I tracked down the problem checkin, it's the big reorg of
   nextdma.c between 1.19 and 1.20.  It didn't introduce a new bug but it
   activated a check which wasn't activated before.  It's the
   is-the-limit-in-the-right-window-check which was ifdeffed before because
   some DMA-regs would sometimes have strange values.  I think I've fixed the
   DMA-reg stuff for now:   at the end of nextdma_intr, when the csr is poked
   to make DMA do something, I think the check for the ENABLE bit introduces a
   race condition.  I fixed this by unconditionally setting DMACSR_SETENABLE,
   this seems to work and also makes the code more readable.  I've also tried
   setting DMACSR_SETSUPDATE unconditionally and this also works well, but I
   don't know what it implies.  Unless you have reasons to not set SUPDATE all
   the time, I'd suggest making this change as well, it makes the code cleaner
   and faster...
I've tested this patch and it does stop the panics, although I don't think setting
SUPDATE all the tima as he suggests is a good idea.  The "SUPDATE" bit implies
a single update (i.e. the end of a dma chain.)
2000-01-12 19:18:00 +00:00
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