Commit Graph

204 Commits

Author SHA1 Message Date
matt 22120ad628 Constify the speedtab arrays 2004-04-25 06:23:40 +00:00
ad 520489e15a MAXINE keyboard and mouse now works, albeit with some minor issues. 2003-12-23 09:39:46 +00:00
ad 9aa9b8ebf5 Add drivers for the desktop bus, DC-7085 and pm display. Make it possible to
select between rcons or wscons at compile time. Ok'ed by simonb.
2003-12-13 23:04:37 +00:00
chs ec439fca35 avoid hanging during autoconf if no mouse is attached. fixes PR 11111.
based on code from Christian Groessler.
2003-09-28 17:25:07 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
simonb 964da8bfb6 Fix 'struct lwp *' lossage. 2003-06-29 09:56:28 +00:00
thorpej c9228c8ddd Use PAGE_SIZE rather than NBPG. 2003-04-02 04:17:50 +00:00
drochner 05bdb0b97d make these compile after struct consdev change 2003-03-21 17:23:22 +00:00
simonb 013ba73637 Fix a tyop in a comment. 2003-02-23 03:37:40 +00:00
wiz 5a91827c81 through, not throught. 2003-01-06 12:29:48 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
thorpej b96bc0d7bc Use CFATTACH_DECL(). 2002-10-02 04:06:36 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
thorpej 958db4d3b7 No need to check that parent's cfdriver is ioasic_cd. 2002-09-26 20:36:14 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +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
chs a6f2a36ecc include sys/systm.h for strcmp() prototype. 2002-01-08 17:10:28 +00:00
simonb f976a7141c Move MI PMAZ-A SCSI attachment to sys/dev/tc. 2001-10-01 10:17:25 +00:00
thorpej cc0751f230 Adjust to use <dev/sun/fbio.h> 2001-09-19 19:04:16 +00:00
simonb cddf6cf55b Switch to MI SCSI and drop old pmax MD SCSI support completely. 2001-08-26 11:47:18 +00:00
simonb c23e6dcb90 b{cmp,copy,zero} -> mem{cmp,cpy,set}
Also remove some unnecessary argument casts.
2001-07-07 14:20:59 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
enami 2ceebb6c0e Remove unnecessary test of tp->t_linesw against NULL; they are results
of confusion while correcting compilation error after t_line is
replaced with t_linesw.
2001-03-31 00:35:21 +00:00
tsutsui 1bbd89c7a7 white space nits. 2001-02-17 18:02:40 +00:00
simonb dde480911e Fix up line discipline change fallout. 2000-11-03 15:01:10 +00:00
eeh 8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
mhitch f9521e4c70 Set the boundary to NBPG for bus_dmamap_create(). The IOASIC DMA segment
can not cross a page boundary.  This fixes a problem when a dump(8) buffer
just crossed a page boundary and bus_dmamap_load() would coalesce the
the overlap onto the first segment.  The NEXTPTR value would get set to
-1 when starting the DMA transfer and the residual data for unaligned
transfers would be copied to physical address 0x1ffffffc.  On the R3000,
this would result in corrupted data, and on the R4000 would usually result
in a hard system hang.
2000-09-28 03:27:29 +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 4250cdde36 - Take care of dm_segs[].dm_len value whenever the offset is adjusted.
Known not working well for 4MAX+ this moment.
- White spacing.
2000-06-07 10:09:19 +00:00
nisimura 72f372eca2 Add a missing parenthesis and correct the function return value declaration. 2000-06-06 00:27:58 +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
nisimura de01642cac Use bus_dma(9) to instruct IOASIC DMA to load transferring addresses,
eliminating MIPS cache machinary exposure here.
2000-06-03 07:55:17 +00:00
nisimura 220005d941 Eliminate unused sc_cookie field of struct ioasic_softc. 2000-03-15 03:07:44 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +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
nisimura f58f6334cb Cosmetic cleanups to hide local objects. 2000-03-04 08:25:24 +00:00
mhitch 8bf4d36694 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.  Also change the rz boot device test
to include a check for the adapter so that it works when booting from a
disk on adapters other than the first one.
2000-03-04 05:42:55 +00:00
nisimura 6f5dadba1c Cleanup warning comment which is now irrelevant. Reorder codes. 2000-02-29 09:03:30 +00:00
nisimura d93aaefb84 - Have SYS_DEV_xxx device cookie symbols to select and install proper
interrupt handlers into intrtab[] array, rather than the idea of devices
  in 'psuedo' TURBOchannel slots.
- Nuke symbols for psuedo TC slots.
- Abandon never/unlikely used intr_disestablish()s.
2000-02-29 07:20:21 +00:00
mhitch 19c22771f3 Check and clear the appropriate IOASIC SCSI interrupt bits when in polled
I/O mode.  Kernel dumps will now work with the IOASIC SCSI devices.
2000-02-28 18:51:25 +00:00
nisimura e6635ea8bd Introduce MI SCSI codes; for DECstation 5000s only this moment. 2000-02-19 09:48:46 +00:00
nisimura 43917001c7 - Add missing "opt_ddb.h" to dc.c and dtop.c (oh, boy)
- Nuke irrelevant "dcvar.h" and "tc.h" inclusion from dc.c
- Put '#if NRASTERCONSOLE > 0' around scc_lk201_cnattach().
2000-02-09 08:29:40 +00:00
nisimura c6641d91a8 Merge IOASIC register definitions. 2000-02-03 08:13:44 +00:00
nisimura f3837e8a9d Not to use (cfdata->cf_unit > 0) conditional in device match() routine. 2000-02-03 05:22:47 +00:00
nisimura 3aaeaf7331 - Massive change of console initialization. Have each model its own
consinit().
- Fix fbconnect() and relatives; 'struct fbinfo' is initialized only once,
  making sure no extraneous console resolution message is emitted.
2000-02-03 04:09:01 +00:00
simonb 251eb03a2b Only prototype and include code for scc_kbd_init() and scc_mouse_init()
if NRASTERCONSOLE > 0.  Fixes problem reported on port-pmax by Anders
Andersson.
2000-01-18 12:19:49 +00:00
simonb bdf420bdbf Redo interrupt establishment, based in part on work on the
[nisimura-pmax-wscons] branch and suggestions from Toru Nisimura:
 - Remove bogus tc_slot_info[] name for interrupt handling array
   and replace with simplified struct intrhand  intrtab[] array.
 - Add intr_establish() and intr_disestablish() function pointers
   to struct platform and initialise this in each model-specific
   initialisation, and remove global tc_enable_interrupt function
   pointer.
 - Remove model-specific function declarations from ibus/ibusvar.h.
This is functionally identical to the current scheme, and doesn't
yet try to commonise interrupt establishment by bus type as the
[nisimura-pmax-wscons] branch does.

Also, move cpuspeed variable from autoconf.c to machdep.c
2000-01-14 13:45:21 +00:00