Commit Graph

298 Commits

Author SHA1 Message Date
mhitch d458239a94 When doing the cacheflush for MIPS1, adjust the length to account for
an unaligned buffer.  The last word of the buffer was not getting flushed
if the buffer was unaligned and fit in a single DMA segment.  Now dump(8)
works on both MIPS1 and MIPS3 DECstations.
2000-11-05 21:02:13 +00:00
mhitch f5f7066fc8 When a read DMA transfer is interrupted by a disconnect on the IOASIC SCSI
and the buffer is not 8-byte aligned, it leaves a partial transfer in the
SDRx registers.  This could cause data corruption in dump(8) because the
read-ahead buffers are allocated on a non-aligned address.  When the read
DMA transfer is interrupted and the current DMA position is not aligned,
call the dma_end() routine to flush the SDRx register contents to the
buffer.
2000-11-02 21:00:04 +00:00
simonb 97e5badeae Line up columns in #define list. 2000-10-31 15:16:26 +00:00
nisimura 8a54846748 Fix errors in initializing the software copy of 256 entry colormap
stored in device softc.  rasops_cmap[] array is orginazed in 256
iteration of 3 byte long RBG triplet, which does not match with
struct wsdisplay_cmap design.
2000-10-27 07:24:04 +00:00
nisimura ad74c7dbd6 - Put comment about wsevent structure counts 0 for the left most mouse
button with a bit coding improvement.
- signed char -> int to hold integer values.  Contributed 16 insn savings.
2000-10-19 10:27:04 +00:00
nisimura 8a526d9513 Remove sc_lance_dmam field from ioasic_softc structure. It was obsoluted
by the removal of ioasic_lance_dma_setup() made in if_le_ioasic.c 1.15.
2000-10-17 09:45:49 +00:00
nisimura f3d4ccd750 Have consistent #if's for machine dependent clauses. 2000-10-17 09:27:22 +00:00
nisimura 1fd2521475 - efforts to merge TC Alpha and IOASIC DECstation, derived from Mattias
Drochner's work made in nisimura-pmax-wscons branch.  Still a little
  to do before useful for DECstation.  MI softintr required.
- allow wildcard matchs to have zstty/zskbd/zsms in default hardware
  configuration.
- abandon to check zs_ioasic_cnattach() return value; it doesn't fail.
- have zs_ioasic_cnattach() serial line parameters hardcoded inside, in
  symmetry with zs_ioasic_lk201_cnattach().
2000-10-17 08:55:43 +00:00
nisimura ca7bd5f302 Make sure wsmouseopen() returns ENXIO when no VSXXX mouse is attached. 2000-10-14 08:51:51 +00:00
mhitch af7ddd3659 Set up the physical addresses for DMAPTR/NEXTPTR before adjusting for
unaligned transfers and adjust the physical address to align the transfer.
If the buffer end just crossed the page boundary, the computation of the
NEXTPTR physical address resulted in using -1.  The cleanup at the end of
the DMA transfer would try to copy the residual data to physical address
0x1ffffffc.  This would silently corrupt data on the R3000 and usually
would hang the R4000.
2000-09-28 03:11:29 +00:00
nisimura bf7a6e6857 Found glyph pixel order inverted on screen. 2000-09-13 02:11:14 +00:00
nisimura c8321c45a7 Found glyph pixel order inverted on screen. 2000-09-12 09:45:48 +00:00
nisimura 59178ec7b4 Use dev/{rasops,wsfont} instead of awesome dev/rcons. Still much to do
before being useful.
2000-09-09 06:15:17 +00:00
nisimura 48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
tsutsui 83f94dc417 Regen. 2000-07-20 07:11:28 +00:00
tsutsui 4af0fbdb1a Add PMAG-JA framebuffer. 2000-07-20 06:38:39 +00:00
thorpej 693ff4c94d PAGE_SIZE -> IOASIC_DMA_BLOCKSIZE in one last place. From Izumi Tsutsui. 2000-07-18 06:14:05 +00:00
thorpej b91d520dc9 Back out previous. It is no longer needed, as both the Alpha
and DECstation IOASIC drivers clear the appropriate interrupts
in the dispatch routine.
2000-07-18 06:12:33 +00:00
thorpej 5e275d7012 Clear the DMA pointer reload interrupt bits in the IOASIC_INTR
register to prevent interrups from looping on the Alpha.

From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
2000-07-17 17:43:16 +00:00
thorpej 8746b7c870 - Write the registers 7930 registers properly on the Alpha (it's
different than on the DECstation).
- Use IOASIC_DMA_BLOCKSIZE instead of PAGE_SIZE.

Should make this work on the Alpha.  From discussion with
Izumi Tsutsui, Gregory McGarry, and Chris Demetriou, and
much reading of EK-D3SYS-PM.
2000-07-17 04:37:27 +00:00
thorpej 887bebaa71 Define IOASIC_DMA_BLOCKSIZE (4096 bytes). 2000-07-17 02:18:17 +00:00
thorpej 8623daff6d G/c some unused (and incorrect, for our usage) definitions. 2000-07-17 02:17:13 +00:00
thorpej 95f72dd4aa Use the IOASIC_DMA_ADDR() macro now that it is fixed. 2000-07-17 01:29:02 +00:00
thorpej cd6fa19644 Make sure to get the upper 5 bits of the page address mixed in
in IOASIC_DMA_ADDR(), as the le_ioasic attachment does.  Noted
by Gregory McGarry.
2000-07-17 01:28:16 +00:00
nisimura 4f051180a0 - Use PMAD-BA name for device match logic. It's not a real TURBOchannel
device and the id string is not found in option ROM string, but
  ULTRIX/OSF1 call it so anyway.
- Squash IOASIC DMA buffer allocation into device attach() sequence.
2000-07-11 04:10:25 +00:00
nisimura 30c1d4ba1c - Withdraw ZS_IOASIC_DMA conditional which has never been useful.
- Sanitize ZS register access.
2000-07-05 07:50:57 +00:00
nisimura 728e424e54 Repopulate 4 files, zs_ioasic.c and zs_ioasicvar.h from arch/alpha/tc,
zskbd.c and zsms.c from dev/dec/, respectively.  No functionality
change this time.
2000-07-05 02:48:50 +00:00
nisimura 87eac96162 Make sure to settle tcdsreg.h and tcdsvar.h in /usr/include/dev/tc/. 2000-07-04 02:31:21 +00:00
nisimura 1de4ec68b4 Repopulate TCDS dual channel SCSI adapter to MI dev/tc, squashing
internals for better layering between TCDS DMA ASIC and ASC SCSI
controller.
2000-07-04 02:22:08 +00:00
mrg a14baa8257 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 17:05:20 +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
gmcgarry 6ab5c3364c - add mmap support
- correct bug which wouldn't free allocated DMA segments
2000-06-12 22:40:20 +00:00
gmcgarry c2a8e26e11 - remove conditional compilation on NAUDIO
- use preprocessor for constants
2000-06-05 23:02:04 +00:00
gmcgarry a5156a5c97 Cleanup #if 0 cruft. 2000-06-04 22:21:09 +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
gmcgarry 9ee45aaf3a Remove wbflush(). These are not necessary with the new IOASIC bus_space
framework.  From Tohru Nishimura.
2000-06-01 21:46:17 +00:00
cgd e4c35df1c9 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:22:52 +00:00
gmcgarry 57e5e86ed1 Merge pmax and alpha ISDN register definitions. 2000-05-28 06:13:40 +00:00
augustss 621ef4d785 Add am7930 audio driver. 2000-05-02 06:43:05 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
nisimura f52c9620bc Place 34 by 80 console at the center of screen. 2000-03-16 05:50:57 +00:00
nisimura 0b765ee6f8 Retain rendering performance lossage by rasops, but suffering
flexibility in turn; this renderer is 2B stroke (less than 16 pixel
width) font only.  If 1B stroke (less than 8 pixel width) font is
ever supported, the font data should be converted into 2B stroke
during font initialization process.  'wsfont_realize()' is to be
proposed in order to have 'CPU and/or accelerator hardware friendly'
format to squeeze maxinum performance.
2000-03-16 05:48:28 +00:00
nisimura 220005d941 Eliminate unused sc_cookie field of struct ioasic_softc. 2000-03-15 03:07:44 +00:00
nisimura 65da099cb1 Unnecessary to enclose device driver body with #if NASC > 0. 2000-03-14 08:23:29 +00:00
nisimura 2eb68c00d2 Respect video console colour designation by configration file. 2000-03-14 08:04:06 +00:00
nisimura 80c0893a8b Switch to improved flexible video console text rasterizer provided by
rasops and wsfont.
2000-03-14 06:25:21 +00:00
mhitch e65044e30d Get rid of hook for dk_establish() - pmax will now use device_register(). 2000-03-06 03:08:32 +00:00
mhitch 3b06f6f887 Fix boot device detection. Device probes are not done when adapters are
configured, but after all adapters have been configured.  When multiple
adapters are present, only the last configured adapter could be matched
to the boot device slot.  The adapter attach routines now check if that
adapter slot matches the boot device slot and saves the softc pointer
for that controller.  Then when the disks are configured, dk_establish()
matches the appropriate controller.
2000-03-04 05:43:51 +00:00