Commit Graph

632 Commits

Author SHA1 Message Date
scottr d08e3b12a4 Stabilize ADB support for some non-Apple ADB peripherals. This is the
second (and final) part of the fix for PR 10086.  (There are no longer
any infinite-wait busy loops in the ADB driver!)
2000-07-03 08:59:26 +00:00
mrg 28d898391b remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:10:45 +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
wrstuden 491d7e6764 Fix logic bug which would keep PPS from working. Noticed by:
Charles Carvalho <carvalho@cisco.com>
2000-06-25 20:55:33 +00:00
scottr fbafc16812 Revert debug-related bogon that snuck in (no change in functionality). 2000-06-18 22:58:45 +00:00
scottr cee7249423 Since interrupts are now enabled during ADB autoconfig, it's possible to get
a keyboard event before wskbd is attached. Make sure we've done that before
passing an event to kbd_intr(), which in turn hands off to wskbd_input().
This is another part of the fix for PR 10086.
2000-06-17 18:00:47 +00:00
scottr 6f644439a9 Only the first device that we're sure is a keyboard should be attached
as the wskbd console device.  (Part of the fix for PR 10086.)
2000-06-17 17:46:40 +00:00
scottr 50cde82828 Since interrupts are now enabled during ADB autoconfig, it's possible
to get a mouse event before wsmouse is attached. Make sure we've done
that before passing an event to wsmouse_input().
2000-06-11 17:26:47 +00:00
scottr d220ba7dc4 Make this compile with GRF_COMPAT. Problem pointed out by Hauke Fath. 2000-06-08 06:01:27 +00:00
scottr 3ca0215f69 Correct a pasto in pm_pmgrop_pm1(); while there were no negative side
effects, the place this code ended up couldn't have had any positive
effect, either.
2000-04-05 07:29:18 +00:00
scottr 15a3a17a43 Correct a few instances where we returned from a function that
had set splhigh() but returned without restoring the previous spl.
The PowerBook keyboard works better, now, but still starts to flake
out pretty badly at 70+ wpm.
2000-04-05 07:18:07 +00:00
thorpej b667a5a357 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 06:30:07 +00:00
scottr 4f29e4d330 Add and use macros to build ADB FLUSH, LISTEN, and TALK commands. 2000-03-19 07:37:58 +00:00
scottr edfc8b89ad The MRG and direct ADB drivers were inconsistent in how they worked with
a serial console; the direct driver didn't care, but the MRG driver
wouldn't probe ADB when using a serial console.  Remove the check from
the MRG version of the code to resolve this difference.
2000-03-19 06:07:05 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
scottr c62e39490c Check to make sure we get a valid handler ID in response to a TALK R3. 2000-03-18 08:07:50 +00:00
scottr 0a23aef85e Resurrect a chunk of code from the ite driver that we lost along the way.
This code is necessary for SE/30 internal video, at a minimum.
2000-03-17 04:46:32 +00:00
scottr 6755970bcf Low-level drivers, like the Power Manager driver, can get us into a major
funk when they misbehave and give us unexpected results.  Specifically:

 - Don't assume that the first free slot is at the top of the table if
   we can't find one.
 - Don't increment ADBNumDevices when backfilling "holes" left by devices
   that didn't respond to a TALK R3 during the initial device scan.
 - Don't assume that an address reassignment worked; make sure something
   responds on the new address before plowing forward.
 - If after device reassignment there are no free slots, make sure to
   indicate this fact.
 - Failing all else, handle the situation where we run out of slots in
   the device table -- which now should "never" happen -- gracefully.

While the Power Manager driver still sometimes misbehaves, it shouldn't
cause the system to crash/hang due to us walking off the end of the
device table.
2000-03-07 06:35:22 +00:00
scottr 5c7674d4dd Explicitly include headers needed by iopreg.h 2000-02-21 02:04:48 +00:00
scottr ab647533a1 Bracket disabled IIfx IOP code with #ifdef __notyet__, rather than
commenting it out or using #if 0.
2000-02-21 01:20:55 +00:00
ender f30d8c9d30 Include mac68k/dev/akbdmap.h, not macppc/dev/akbdmap.h. Fixes PR 9435
filed by Dave Huang <khym@bga.com>.
2000-02-17 02:07:07 +00:00
scottr 8a00740789 Merge wscons work onto the main development branch. 2000-02-14 07:01:44 +00:00
scottr 97a60329d2 Apparently, the Mac TV is a re-packaged Performa 550. Add code to
recognize this so that Mac TV users can finally ditch the MRG_ADB option.
1999-12-25 08:16:34 +00:00
scottr 1c5a093819 Make this compile without bpf. Problem noted by Bob Nestor, fix from
Frederick Bruckman.
1999-12-20 01:06:40 +00:00
scottr 3310f57beb Replace references to PGOFSET with m68k_trunc_page() and m68k_page_offset(),
as appropriate.
1999-12-12 08:18:48 +00:00
scottr a15eb6dc13 An interrupt handler may change adbInCount underneath us, so qualify the declaration
with volatile.  The bug didn't show its face until more agressive
optimization showed up, apparently a result of the last egcs upgrade.
(The interrupt handling changes from June have certainly also played
a part.)  Thanks to Ken'ichi Ishizaka for discovering the problem.
1999-12-10 00:03:47 +00:00
scottr 99d3468790 Don't use the plural form of the word "target" if there is only one! 1999-11-28 10:10:51 +00:00
scottr dc2663bf69 If there is only one ADB device, it will do us no good to avoid it
when guessing which device to poll next.  Resolves PR 7407, but the
bug is a lot older than that.
1999-11-28 10:07:34 +00:00
scottr 4ecba735df Garbage collect adb_initted. 1999-11-07 08:22:50 +00:00
scottr 0b8b3c403e In the interrupt handlers, check adb_polling instead of
adb_initted to decide whether to handle 'recovered' interrupts
immediately.
1999-11-07 08:18:24 +00:00
scottr 26208b5e57 Garbage-collect adb_init(). It's been dead for a long time. 1999-11-07 08:08:10 +00:00
scottr c11dd8b6dd We want adb_polling set regardless of whether we're using the MRG driver. 1999-11-07 08:07:20 +00:00
scottr 8da942f249 Oops... last rev created an unused variable. While here, clean up
adb_reinit()'s variables a bit, too.
1999-11-07 06:15:09 +00:00
scottr 23411c4c1b Convert one more buffer copy that I missed in rev 1.28. 1999-11-07 05:50:26 +00:00
scottr a7628ea793 Always using polling for poweroff (from macppc). 1999-11-07 00:16:39 +00:00
scottr 27adad708f ite_polling -> adb_polling 1999-11-07 00:12:55 +00:00
scottr 57dc0b9f46 We need adb_initted in a couple of places; declare it here. 1999-11-07 00:12:54 +00:00
scottr ad43c94436 ite_polling -> adb_polling 1999-11-07 00:12:53 +00:00
scottr c827b513ac Convert buffer copies to memcpy(). 1999-11-06 23:50:29 +00:00
scottr 12a535f5ef Add more delay in adb_reinit() (from macppc). 1999-11-06 23:44:32 +00:00
scottr b46c7fc44d Don't invoke the upper half handler unless we're still
initializing the ADB bus.  This fixes PR 7870.
1999-11-06 22:25:20 +00:00
scottr 41ae6be989 Defer ADB configuration until interrupts are (normally) enabled. 1999-11-05 18:27:11 +00:00
scottr 902801374a An aesthetic change to autoconfig output to complement Colin Wood's
change to macrom.c in June.
1999-11-05 18:08:02 +00:00
scottr a15f217211 [Redo] Allow rates higher than 57600, per PR 8070. Change originally
from Bill Studenmund.
1999-11-02 06:51:45 +00:00
scottr 9894ab10b4 [Redo] Catch up with recent changes to scsipi flags. Closes PR 8675. 1999-11-02 06:42:26 +00:00
scottr e70fd63845 Be less noisy about collision errors. From Dave Huang, closes PR 8605. 1999-10-14 20:58:18 +00:00
thorpej e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
scottr f63afdf2ff Normalize autoconfig output. 1999-09-29 06:14:02 +00:00
scottr 8e9fd55168 Add support for the Macintosh LC Ethernet Adapter, from Ken'ichi Ishizaka.
This was erroneously recognized as an 8390-based card, where in fact it is
using the 83932 (SONIC) controller.
1999-09-29 06:04:50 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00