Commit Graph

257 Commits

Author SHA1 Message Date
leo 54608785fb The ST-DMA driver now uses intr_establish. 1997-01-01 21:14:47 +00:00
leo 493e4aaebb The Hades floppy driver now uses intr_establish(). Also the interrupt
accounting is fixed (ie. counted as the right interrupt).
1997-01-01 21:12:56 +00:00
pk c4a0dfb011 omission in last commit: ramdisk.h => md.h 1996-12-28 23:50:44 +00:00
pk a8b4babc16 rename: ramdisk => md 1996-12-28 23:37:26 +00:00
leo 223682435b Oops, this one was missed in the BROKEN_INDIRECT_CONFIG cruisade. 1996-12-28 23:26:36 +00:00
leo c4b08fe059 Add intr_establish/disestablish functions. Currently only the lpt-driver
is converted to use them...
1996-12-26 23:25:01 +00:00
leo c6e901c459 Get rid of BROKEN_INDIRECT_CONFIG 1996-12-20 16:20:57 +00:00
leo 291ced55a4 Get rid of BROKEN_INDIRECT_CONFIG 1996-12-20 12:49:35 +00:00
leo 421158437b Tweak the clockframe structure a bit so we are able to save a few cycles
at interrupt time. (From Gordon Ross).
1996-12-18 12:35:19 +00:00
leo 9f8a5d9694 Move up the initialisations for the delay routine in the initialisation
process. It's now also available to the different device probes.
1996-12-16 22:03:23 +00:00
leo de3b8c8e4b Implement an rtc-device. Credits for the idea goes to Wolfgang Solfrank.
Because there is no way yet to tell init(1) to execute commands before
single user-mode is entered, the inittodr() function is still partly
functional. It retrieves the value of the RTC and sets the time as if
the RTC was running at UTC. The resettodr() function is a No-Op. The
RTC can only be changed by a write to /dev/rtc.
The TIMEZONE and DST options are no longer needed and removed from the
config files.
1996-12-16 21:24:00 +00:00
leo ae092ee765 Merge the formatting code from the i386-port. 1996-12-14 13:47:12 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
leo f9ace39811 Plug some spl-holes in the lp-driver. Also be more strict in protecting
the register access to the psg-chip. The combination of those bugs
caused the printer to print garbage sometimes.
1996-11-17 13:47:09 +00:00
leo d3ef248436 Shift screen a bit to the left. 1996-11-17 13:39:40 +00:00
leo 643abfa146 Make splbio really splbio. All holes now seem to be plugged. At least
on the Hades & TT030.
1996-11-17 13:38:03 +00:00
thorpej 490126b07a Use bitmask_snprintf(). 1996-11-13 06:48:24 +00:00
leo 27c222f3e8 Add frequency table for Hades. 1996-11-10 21:52:37 +00:00
leo 76cc53af70 Hades floppy driver. 1996-11-09 22:27:25 +00:00
leo 758e7a3708 Adapt to the change in the floppy minor-number sceme. 1996-11-08 14:17:08 +00:00
leo 5f28db13df - Make it's behaviour on minor numbers identical to that of the Hades
floppy driver.
- Fixup format types in the debug-printf's
- Don't print empty lines on unconfigured drives.
- When a drive is detected, show it's default format.

 ---- Warning: minor numbers are shifted! ---
1996-11-06 14:03:15 +00:00
leo 86c616102f select -> poll 1996-10-16 12:57:11 +00:00
christos 17f5b2a175 backout previous kprintf changes 1996-10-13 04:10:34 +00:00
leo 3d5284e11e - Fix configuration name of 'lpt'
- add 'pcibus' as a mainbus device.
1996-10-11 21:07:02 +00:00
leo 64096bf6d1 - add a iteet_ioctl function so iteconfig(1) can be used to select the
screen geometry.
- Re-arrange et_loadmode() and et_inittextmode() to write into shadow
  register set instead of writing to the card-registers directly.
- provide et_hwsave()/et_hwrest() functions to transfer the card-registers
  to and from the shadow set.
1996-10-11 21:02:48 +00:00
leo 6cfe8836c4 *** empty log message *** 1996-10-11 21:01:26 +00:00
leo b88d6013b6 Remove grf_ite_ioctl(). Replace it by 'itexx_ioctl' that is configurable
per ite-type.
1996-10-11 20:50:34 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
thorpej b1b86c0c98 Merge the netbsd-1-2 branch into the mainline. 1996-10-08 23:40:40 +00:00
leo 3b5c181c8b Checkpointing my et4000 work. Note that the et-console will not be
functional until the minimal pci-support is checked in.
1996-10-04 07:27:52 +00:00
leo f97dcb95be The KDASSERT macro is now defined in libkern 1996-09-25 15:10:15 +00:00
leo 8e7f6c2cf5 Catchup with -current:
- Extra argument to boot()
  - select -> poll
1996-09-25 15:03:20 +00:00
leo 0e805391a3 Prepare for (soon to come) et4000 PCI console 1996-09-16 06:49:03 +00:00
leo ef074b3031 Prepare for (soon to come) et4000 PCI console. 1996-09-16 06:43:32 +00:00
leo 11c0ef7354 atari_realconfig now defined in <atari/device.h> 1996-09-16 06:27:11 +00:00
leo 70747dc24f Add support for Hades platform. 1996-09-16 06:20:44 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
leo 3a68f68754 Don't use an absolute I/O adress. 1996-08-23 11:14:59 +00:00
leo 6aab91675e Revert to polled-DMA on Falcon. 1996-08-16 08:25:46 +00:00
leo 4b5bff0d0f During a rather lengthy debug session with Markus Kilbinger (Thanks again!),
we managed to kill the following SCSI-driver bugs for the Falcon:
   - The Byte_Count_zero bit of the falcon DMA controller does not always
     tell the truth! This caused the SCSI-driver to choke on devices that
     disconnected in the middle of a DMA-transfer (mostly removables).
   - Printing debug info about the 5380 on the Falcon is *only* permitted
     when DMA is not active.
   - Some functions forgot to remove possibly pending sofware interrupts
   - Some debug options didn't allow debugging a single target while they
     could easily be made to do so. This is fixed.
1996-07-05 19:35:35 +00:00
leo f1af6a2252 Add missing spl0() call. 1996-07-05 19:22:21 +00:00
leo 1301d25702 Pull down from release. Sorry, should have been the other way around.... 1996-06-18 11:10:04 +00:00
leo d84f4c4b18 Add tty_attach() calls. 1996-06-18 05:54:59 +00:00
leo 0b59a91269 Add missing spl(x). (Jason Thorpe) 1996-05-30 13:41:58 +00:00
leo b4ca145026 Get in sync with the mac68k version of the 5380 driver. Also increase
the maximum values of wait_req_xx() functions so some old (slow) scsi-1 drives
will work.
1996-05-15 09:21:29 +00:00
leo dd8fd30935 Prototype + -Wall fixes. 1996-05-15 07:28:51 +00:00
leo 5f0e599c40 Remove a line of debugging code. 1996-05-14 10:25:01 +00:00
leo b26b45a14d Corrections for removed <sys/cpu.h> and some more prototypes. 1996-04-26 06:59:15 +00:00
leo 7f0e5ecf77 - Fixup the ipending function for the Falcon. This seemed to be the source
of a lot of instability problems on the Falcon. I also enabled DMA on
  interrupt basis for the Falcon.
- Try to handle targets that request too much data more sanely.
- Some fixups for strict prototypes + -Wall

Thanks to Markus Kilbinger for providing the debugging support.
1996-04-26 06:50:12 +00:00
leo df8c6afda1 Ignore joystick packages when running in 3b. emulation mode. 1996-04-23 11:02:01 +00:00
leo 18dd6b0909 Prototypes. 1996-04-19 20:35:31 +00:00
leo b3fadef7e0 Yet more prototyping and -Wall fixes. 1996-04-18 08:51:11 +00:00
leo 6e40f439fc Part of restructuring done for 3-button mouse support. 1996-04-12 19:55:28 +00:00
leo 658385632c Prototyping. 1996-04-12 09:05:14 +00:00
leo 9402dcae81 Add 3-button mouse support. 1996-04-12 08:39:22 +00:00
leo e4a9d09efb Add 3-button mouse support. 1996-04-12 08:37:03 +00:00
christos 933d138841 Change %r -> %: as for recursive printf's 1996-03-30 21:01:21 +00:00
leo ccde176c63 Small nits because of changes in ym2149 handling. 1996-03-27 12:15:28 +00:00
leo 28e46e648f Add centronics printer driver. 1996-03-27 10:20:44 +00:00
leo 72e826cbd4 Remove rd_match_hook(). 1996-03-27 10:13:09 +00:00
leo c5a7f4e977 Take out direct access to the YM2149. The chip definitions are moved
from video.h to ym2149reg.h.
1996-03-27 10:07:45 +00:00
leo 8106a55133 And more proto's..... 1996-03-20 13:11:56 +00:00
leo e0aeb3dc13 Another bit of prototyping... 1996-03-20 12:41:30 +00:00
leo 7b7df70d77 Fix typo in neew config changes. 1996-03-20 08:17:48 +00:00
leo 38432e7448 Debugger() prototype is in systm.h, don't define Debugger() here. 1996-03-19 13:15:34 +00:00
thorpej 82d914d090 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:26:49 +00:00
thorpej 5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
leo 55b65fb49a Switch to the mi ramdisk driver. 1996-03-14 21:41:04 +00:00
leo 7da79507e9 Take the type of the attached monitor into account when selecting a
display-mode. Includes hack to make things work on non-VGA monitors.
1996-03-10 11:42:35 +00:00
leo 77e4824146 Just prototyping. 1996-03-08 21:54:53 +00:00
leo a91a46bc0f When having a perfect match on the resolution, try to match the screen
depth as best we can.
1996-03-08 21:52:50 +00:00
leo bb2b6106da Fix a bug in the DCD handling. Because the state of the DCD line was
kept in a soft-copy that wasn't initialized on open, it sometimes happend
that a change of the carrier got lost. Also fixed some prototypes.
1996-03-08 21:50:40 +00:00
leo db7d722c4b A bit of reshuffling. Also some stricter prototyping. 1996-02-22 21:07:05 +00:00
leo c9dfd5cb44 First bunch of changes due to stricter prototype checking. 1996-02-22 10:10:44 +00:00
leo 2708c1593e Oops, should have been updated in conjunction with ncr5380.c . 1996-02-14 08:09:47 +00:00
leo 35d120d71d Some extra range-tests on the RTC values. 1996-02-11 12:42:19 +00:00
leo 8d7918526b Various small fixes. 1996-02-10 22:10:45 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
gwr c2c1c1b11a Move struct definitions to MD code. 1996-01-24 19:21:40 +00:00
leo 1481622cdb Fixes 'hanging' problem when closing a serial port. 1996-01-23 09:35:15 +00:00
leo 9186c7668f The changes frpm Paul Goyette with respect to the driver trace require
DBG_PID to be defined to an interger value....make it so.
1996-01-14 13:06:37 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
leo 57a3b5b00c Keep more debugging history (Paul Goyette). Synced with mac68k version. 1996-01-06 20:17:15 +00:00
leo 356a61ab95 Add an nvram-driver. This driver makes it possible to read/write the
configuration info stored in the nvram on the mc146818.
1996-01-06 20:10:41 +00:00
leo c8574c59f7 Allow selection of Falcon (videl) video modes other than the mode selected
on startup (Thomas Gerner).
1996-01-02 20:59:20 +00:00
leo b46db7160c - Remove an unwanted interference between the 2 channels.
- Allocate the ringbuffer on a channel's first open.
1995-12-25 14:16:50 +00:00
leo 1e5442c0ba Fixes for devices that don't support linked commands. (Paul Goyette) 1995-12-18 20:37:51 +00:00
leo 64f1b42bb4 Correct PCLK value. 1995-12-16 21:45:31 +00:00
leo 8dff161947 Make sure that the motor will be turned off when a floppy is inserted. 1995-12-10 14:25:12 +00:00
leo 70875fa68f Return a more sensible errno when someone is trying to set the unsupported
mdmbuf option.
1995-12-03 14:32:39 +00:00
leo ca1cc64e20 Remove forgotten #endif 1995-12-01 19:51:53 +00:00
leo 291d8cbf3a Add kernel option for separate {stat,prof}clock 1995-11-30 21:52:46 +00:00
jtc 0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
leo 3b8542c63a The Falcon needs a delay after writing the dma_data register (Thomas Gerner) 1995-11-06 21:13:38 +00:00
leo ebc6d5a705 Use general bound-check function. 1995-10-14 20:17:46 +00:00
leo 0e5fe20560 - Cleanup the arbitration
- Make sure the MON_BUSY flag is cleared after a DMA transfer. Otherwise
  we might end up with a 'lost-busy' situation unexpectedly. This will
  prevent the 5380 from driving the bus, which is not funny during
  reselections.
1995-10-08 13:34:23 +00:00
leo 7d3bc89420 Get in sync with the mac68k version to incorporate Allen Briggs' changes
- emit MSG_ABORT/MSG_REJECT at the right times:
 - make MIN_PHYS machine dependent.
1995-10-05 08:52:53 +00:00
leo 7af927b56d Make sure the prototypes and inline definitions are included. 1995-09-23 20:29:16 +00:00
leo f28a41635b Make them compliant to iso-8859-1 (Thomas Gerner). 1995-09-23 20:25:34 +00:00
leo c150cc4d37 PROF -> GPROF 1995-09-23 20:23:28 +00:00
leo a2a0fe9c66 - Handle devices that do not support identify messages (Allen Briggs)
- Add pdma_ready() hook (Allen Briggs)
- Increase timeout to 1000 (Matthias Pfaller)
1995-09-16 14:15:10 +00:00
leo e34d65cb12 - Fix a timing bug in the loop, that was introduced in the previous version.
- Added some code to reject unsupported messages correctly.
1995-09-12 19:58:53 +00:00
leo 7640742d5b Fix possibly endless loop (mycroft) and add fix requested by Allen Briggs. 1995-09-05 07:02:21 +00:00
leo eb9d1db57a Right align color values in the bytes. 1995-09-04 19:41:39 +00:00
leo eee0dbbda7 Allow chars > 0x7f to be displayed on the ite's 1995-09-04 19:39:21 +00:00
leo 9c9abeb6c3 Add Falcon video support. Thanks to Thomas Gerner. 1995-08-20 18:17:09 +00:00
leo 34e65502e7 - make sure that there is 1 pending software interrupt max.
- read status before character, so the status won't be lost (Thomas Gerner)
- accumulate as much interrupts as possible in zshard()
1995-08-20 13:28:10 +00:00
leo 6b9a15416a - Add 'restbyte' handling for TT.
- Don't _ever_ do DMA for less than 512 bytes on the Falcon
- Fix bug in autosense-handling. Now asks for the correct number of bytes.
  Now it won't read ghost bytes on the tape anymore.
- Add missing braces as suggested by Matthias Pfaller
- Make it possible to debug requests on a specified number of targets
- Add debug option to show only transaction with error code != 0
1995-08-19 12:36:21 +00:00
leo 44d433786d Remove 2 wrong proto-types. 1995-08-17 20:32:50 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
leo 24644e5151 New version of NCR5380-SCSI driver. This version is far more generic than
the previous version. The machine dependent part contains the configuration
for both the TT and FALCON. The configuration files have been changed to
select SCSI-support for either TT, Falcon or both.
The configuration file for the Atari-Falcon will only get _really_ usefull
when the Falcon video part is finished.
1995-08-11 20:01:15 +00:00
leo cd73c9f0cb Add middle button emulation. 1995-07-27 06:35:46 +00:00
leo 2826d4fa30 A forgotten file for the kbdmap fixes. 1995-07-25 13:49:26 +00:00
cgd ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
cgd da9c1b5e48 fix minphys so that it actually works properly 1995-07-24 07:31:45 +00:00
leo 052e19d7fd Change and fix the way of keyboard mapping. Each virtual console has it's
own private keymap, initialized on open from the system-keymap. Both
system and private keymaps are settable.
1995-07-24 05:56:06 +00:00
leo 8e01fc80af Update raw-io functions as suggested by Charles. 1995-07-12 21:41:03 +00:00
leo b87c200b08 - Change character interface as suggested by Charles
- HD floppies really have 2 sides ;-)
- Cleanup drive/density selection
1995-07-11 18:32:07 +00:00
cgd 2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
leo abe8c288fb Sync grf with underlying view on open. 1995-06-26 19:55:45 +00:00
leo 0d1035fa62 Fix thinko. It will now also work when no mouse is configured. 1995-06-26 14:31:27 +00:00
leo 4abd54fe69 Mouse driver added. 1995-06-25 19:05:23 +00:00
leo 73c861e2e3 Handle mouse and other packages received from the keyboard correctly.
The initialisation now resets the keyboard and disables all packages
that make no sense because their drivers are not activated.
1995-06-09 20:00:14 +00:00
leo 91bada6a66 Fix grfmmap() 1995-06-09 19:55:13 +00:00
leo d8cb2b8dfa According to diffs from Waldi Raven:
Make speed/clock-source selection smarter. This makes the baudrates more
 accurate and allows speeds upto 115k baud.
1995-05-28 19:50:26 +00:00
leo 27a11d1735 Remove the pointer to view_t from the grf-structure, use viewview(dev)
to obtain the pointer instead. This removes a kernel-crash that happened
when something was written to the console while the console was being
resized.
1995-05-28 19:45:36 +00:00
leo d66ffa3fe1 Use <dev/ic/mc146818.h>. Change systemclock settings. Usable values for
HZ are now 48/64/96.  This reduces the interrupt overhead, because we
don't need the extra division by 4 in the interrupt handler.
1995-05-28 19:38:49 +00:00
leo a1006d16dd ite_newsize(): Do not reallocate a display when the actual display mode
will be the same. Fixes a nasty bug where ite0 and ite1 share the same
bitmap.
1995-05-21 11:00:13 +00:00
leo c8ca7ae526 Fix UL-handling 1995-05-21 10:56:54 +00:00
leo 13f71a235d Add prototype for grf_get_best_mode() 1995-05-21 10:55:57 +00:00
leo 02dd55abb3 - Add grf_get_best_mode()
- Only update 'real' colormap when actually displaying
- Fix TT-HIGH video mode
1995-05-21 10:54:44 +00:00
leo 555b2f67be Minor fixes. 1995-05-21 10:52:18 +00:00
leo b78d405c36 Don't mess with SCU on the Falcon. 1995-05-14 15:55:51 +00:00
leo 8360740fdb Change of function params for Falcon SCSI. 1995-05-14 15:47:17 +00:00
leo 84c03e6058 - Remove race condition from DMA interrupt handler
- Add function to get current DMA address for Falcon SCSI.
1995-05-14 15:46:17 +00:00
leo 231b64341e Fix bug on handling HD-floppy's. 1995-05-05 16:38:05 +00:00
leo 60f4c22869 Shift system clocks from TT-mfp to ST-mfp and remove some dead-code. 1995-05-05 16:31:46 +00:00
leo f677a89489 Small changes in dma locking code. 1995-04-30 12:06:01 +00:00
leo 12c60f7bc0 Complete rewrite, made necessary because Falcon SCSI needs to share
NCR5380 and DMA access with floppy.
1995-04-30 12:04:48 +00:00
leo cd29a7f291 Better way to select a display mode? 1995-04-28 11:34:33 +00:00
leo d3bb44e8f2 Made no_ttram_dma patchable instead of a define. 1995-04-28 11:33:01 +00:00
leo dcdee517ef - Remove register access functions from dma.c -> fd.c and inline them
- Add write protect checking (mistereously disapeared during port)
- Make fdclose() return a sensible value
- Prefix 'dma-defines' with DMA_
1995-04-22 22:18:17 +00:00
leo e8312d3ac3 Adapt for new conf.h:
- Add xxxtty() functions
	- Remove xxx_tty array
1995-04-22 22:06:43 +00:00
leo 049520050c Get RAMD_NDEV in sync with definitions in rd_info. 1995-04-16 14:59:03 +00:00
leo c0f4a40a61 Make it consistent with conf.c . 1995-04-16 14:56:25 +00:00
mycroft e41d4f5e96 Undo accidental change. 1995-04-11 02:42:23 +00:00
mycroft 47f2d08bb3 Use global 8530 defs. 1995-04-11 02:37:11 +00:00
mycroft 1475e294a9 map --> mmap 1995-04-10 09:12:10 +00:00