Commit Graph

1886 Commits

Author SHA1 Message Date
scottr 5b4a54759d Conform to spec, and make bus_space_copy() handle overlapping copies.
From Jason Thorpe.
1998-01-13 18:32:15 +00:00
scottr 3b7ef50f8e Missed a change for the updated config(8). 1998-01-12 23:56:26 +00:00
thorpej 36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
drochner 35718a7622 Use of BOOTP or BOOTPARAM can be conntrolled by config option now. 1998-01-09 17:21:10 +00:00
drochner 9c3e23d351 Compile in BOOTP support for diskless boot. 1998-01-09 17:10:16 +00:00
scottr 867cdfc734 Another update from John: if we're polling, e.g. in ddb, pass the
keystroke to the upper half directly.
1998-01-09 06:59:29 +00:00
scottr 4567c69fea Update from John Wittkoski: the Color Classic and Color Classic II
have Cuda hardware, not IIsi-based.
1998-01-07 07:33:36 +00:00
thorpej 6ac24f05df Garbage-collect VM_PMAP. 1998-01-06 08:46:11 +00:00
thorpej 2317f9064e Garbage-collect pm_stchanged. 1998-01-06 08:40:50 +00:00
thorpej 07f835de1f Garbage-collect PMAP_ACTIVATE() call here; it's no longer necessary. 1998-01-06 07:49:36 +00:00
thorpej 61567b54de Garbage-collect pm_stchanged; it's not used by anything. 1998-01-06 07:02:58 +00:00
thorpej d11b109f2b Garbage-collect use of the PCB's copy of the user segment table pointer. 1998-01-06 06:51:40 +00:00
thorpej a8f80ad4fd Fix a bogosity apparently inherited from when the Utah 4.3BSD code base
was converted to use Mach VM for Net2/4.4BSD.  The user segment table
pointer was originally stored in the PCB.  When Mach VM came along,
however, it was also stored in the pmap, and loaded into the PCB in
pmap_activate().  pmap_activate() would then note that the PCB's USTP
was now in sync with the pmap's USTP, and the low-level context switch
code would use the value from the PCB.

However, pmap_activate() would also load the hardware MMU context if
the pmap was the current pmap (or, in the case where pmaps can be shared,
such as in NetBSD, if the proc was the current proc).  The low-level
context switch code would then reload the hardware _again_ using the
USTP from the PCB.

However, the optimization of not calling pmap_activate() if "stchanged"
was false ended up causing some processes to use stale USTP values from
the PCB when the low-level context switch code reloaded the hardware!
This was noticed by using a real vfork(2) (which worked for some time
before failing, surprisingly!)

Since I'm hard pressed to find any real optimization here (since the
hardware was always reloaded once, sometimes twice!), the code now always
calls pmap_activate(), which uses the correct USTP value (the one in the
pmap).  The PCB's USTP is now ignored, and should eventually be g/c'd.

Another optimization can actually be performed, and I have added a comment
describing what it is, but have not yet implemented it.

Also note that most of the loadustp() functions where actually incomplete.
This has been corrected.  These functions should probably be split up into
MMU-specific operations, and called indirectly, rather than doing constant
run-time decision making based on values that will never change during the
course of a boot's lifetime.
1998-01-05 23:16:21 +00:00
perry 3e0fad1868 RCSID Police. 1998-01-05 06:28:44 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej dd966fca05 Change an argument name to PMAP_ACTIVATE() to more accurately describe the
semantics of the argument.
1998-01-01 20:05:23 +00:00
thorpej 287b63b321 - Make pmap_activate() and pmap_deactivate() take a struct proc *.
- Define active_user_pmap() and use it in the appropriate places (from hp300
  port).
1998-01-01 19:52:50 +00:00
scottr 6a7a3fb133 spurintr() is a low-level interrupt handler, and must not
be called by C code!  Spotted by Bill Studenmund, who also provided
#the substance of this change.
1997-12-19 05:38:00 +00:00
scottr e43a4bda4a Update for the NWO 1997-12-18 06:45:30 +00:00
scottr 0b62536fdf Make these more closely resemble the old configurations. 1997-12-18 06:44:15 +00:00
scottr 24d2f8120e Don't enable interrupts unless we are using reselect or interrupt-
driven PDMA modes.
1997-12-16 19:44:19 +00:00
wrstuden 5a67b7c680 Add initialization code for cs_wr5_dtr as the M.I. layer now tests
it in initializing during autoconfig. Similar to sys/arch/sun3/dev/zs.c
revision 1.47. Ought to fix hangs at first tty access reported by
Johnny Lam, <jlbg+@andrew.cmu.edu>.
1997-12-16 17:53:12 +00:00
scottr cebc1537c1 Update to match std.mac68k changes. 1997-12-16 17:22:53 +00:00
scottr 39aac67f16 Fix prototypes so that we can compile without DDB. Closes
PR 4633.
1997-12-07 17:47:47 +00:00
scottr ee70fa750a Shades of rev 1.13: Really, we shouldn't call Debugger() if we
haven't got ddb in the kernel.  Fixes PR 4632.
1997-12-06 19:41:46 +00:00
scottr 73a00edbd6 PR 4078: Enabling the SCSI IRQ interrupt to allow reselects to work
causes the MI interrupt handler to barf when we get a 5380 RST interrupt
while probing.  Worse, the VIA latches the interrupt, so simply having
all interrupts disabled during autoconfig doesn't resolve the problem.
[I demonstrated the latter on a IIci, which erroneously reports a
reselection attempt(!) after autoconfig is complete.  The latched
interrupt results from the SCSI bus reset we do when initializing the
bus.]

Since interrupts must be enabled during autoconfig anyway (sigh), test
to see if autoconfig has completed in sbc_irq_intr().  If not, we don't
pass the interrupt up to the MI interrupt handler.  Also, make sure to
clear the VIA interrupt if we're servicing an unclaimed 5380 RST
interrupt.

Thanks to Bill Studenmund for providing the key insight needed to unlock
this problem.
1997-12-06 18:53:30 +00:00
tv 0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
briggs 16b71d1871 Thanks to Paul Goyette <paul@whooppee.com> for a patch to clear the
interrupt properly on a SuperMac Spectrum/8 Series III, and thanks
to Dan McMahill for loaning the card to Paul.
I modified Paul's patch somewhat to change grfmv_intr_generic_{1,4}
to grfmv_intr_generic_write{1,4} and added grfmv_intr_generic_or4 to
handle this card.
1997-12-03 03:05:02 +00:00
kleink c87631771e Add COMPAT_13. 1997-12-01 14:52:51 +00:00
scottr 4be1bd1115 Correct a comment from previous commit. 1997-12-01 06:07:33 +00:00
scottr 355a8bbccd We don't do old-style miniroots anymore. 1997-12-01 05:51:51 +00:00
scottr fe3d2d5633 Make grfdebug a patchable variable, and default to no debugging messages.
Noticed by Hauke Fath.
1997-12-01 05:40:39 +00:00
briggs 343e078b95 Add extra FWB driver partition and Apple ATA driver partitions to the list
of partition type that we recognise and skip when filling the fake
disklabel.
1997-11-30 04:46:59 +00:00
briggs 8e1428e600 Support for the Lapis ProColorServer 8 PDS on the SE/30. This prevents
hangs when trying to use this video card in conjunction with an ethernet
card.  Thanks to David Condon <david@apk.net> for information and testing.
1997-11-30 01:02:44 +00:00
scottr 9cc64880e9 Major reorganization, based largely on the i386 GENERIC. This moves all
bus and device configuration out of std.mac68k, as well.
1997-11-26 07:23:20 +00:00
scottr 805d1043a6 Don't attempt to open the ADB device if it hasn't been initialized.
Also, don't allow more than one instance to be configured.
1997-11-26 06:28:50 +00:00
briggs 2241e4220c Only scan MAXPARTITIONS entries for a free partition table entry. 1997-11-26 04:18:20 +00:00
briggs 62ebaeb91b Ignore FWB Component and Apple_Driver_ATA partition types, too. 1997-11-26 04:14:07 +00:00
scottr 952c244eab In iteoff()/iteon(), don't try to do anything if we haven't
initialized the ite.
1997-11-25 20:56:13 +00:00
scottr 387294d4a5 Fix dependency generation for assembler files; closes PR 4476,
but differently since the suggested change breaks cross compiling.
1997-11-25 18:33:19 +00:00
briggs 2412580d6a Forgot a declaration in last change to esp.c. 1997-11-25 03:54:56 +00:00
briggs 1adbb93466 * Disable parity checking on all devices until we find a better way to
deal with cheap CD-ROMs and other devices that do not appear to have
  any way to enable parity generation.  In the future, it might be nice
  to have this configurable on a per-device basis with back-to-back
  parity errors automatically disabling parity for the device.  That
  would require some MI changes.
* Handle unaligned and odd-length transfers.
  This could probably be handled better in the future.
1997-11-19 13:01:32 +00:00
scottr 2311eecbad Fix emulation, mostly from Dave Huang in PR 4482 (one tweak by me for CUU/CUD, and
one from him to correct a fencepost error in {reset,clear}_tabs()).
1997-11-19 07:00:03 +00:00
lukem 6c986561ee * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
veego 86086729e7 if NARP -> if NARP > 0 1997-11-13 10:48:19 +00:00
thorpej ce4c770f88 Make sure CPP, AR, AS, and RANLIB are defined. 1997-11-12 23:11:50 +00:00
thorpej a421995756 Define LORDER, NM, and TSORT here, like we do the rest of the tools. 1997-11-12 22:25:31 +00:00
scottr d28cbedf2f Fix typo in last change that causes lossage depending on
whether the MRG_ADB option is used or not.
1997-11-11 17:31:11 +00:00
scottr a41bde2076 Get rid of MSGBUFPTECNT; fixes PR 4331. 1997-11-09 06:10:44 +00:00
scottr 60dd653baa KNF: Fix some whitespace inconsistencies. 1997-11-08 23:22:38 +00:00
briggs 527e5cbc44 Force the probe to find the internal video for the 63x/575 models. 1997-11-08 04:12:52 +00:00
briggs c1ed70f0d8 NetBSD RCSIds. 1997-11-07 13:31:15 +00:00
scottr a6c6c9c1ad Update from John Wittkoski: work around problem with mice that claim to
support Extended Mouse Protocol, but really don't; the Logitech Mouseman
is one such mouse (model M-AC13-4MD).
1997-11-07 07:38:10 +00:00
scottr 13fa4227b1 Update from John Wittkoski: bug fixes for Cuda support. 1997-11-07 07:33:11 +00:00
ender e38a307461 Recognize Apple Standard Keyboard (ISO layout) 1997-11-05 08:21:47 +00:00
briggs fde9e5e6c3 A first cut at faster SCSI for non-AV quadras. Could probably perform better,
but is a marked improvement.  This takes advantage of a pseudo-DMA hardware
hack of Apple's that exposes a 16-bit register that the Apple-designed
memory controller acts like a DMA controller and handshakes into or out
of the FIFO.  Wierd.
1997-11-05 03:33:35 +00:00
briggs 6683847f3b For the LC575/Q630 (comm-slot machines), try to derive the card settings.
Unfortunately, there does not seem to be a good way to determine what
variety of comm-slot card is present in a machine.  There is still an
interrupt issue preventing these cards from working--hopefully that will
be ironed out shortly.
1997-11-05 03:27:29 +00:00
briggs 138956b074 For level 4 (serial) interrupts: If the handler returns 0, take the
normal rei course.  If the handler returns non-zero, just rte.
This should allow better MACE response-time and still keep serial
interrupt overhead to a minimum on older, slower machines.
1997-11-05 03:23:20 +00:00
briggs 9daaf978aa Check for machine class, not for PSCBase as initial check in mc_obio_match(). 1997-11-05 01:56:27 +00:00
briggs cb6760281d Raise the number of transmit and receive buffers. 1997-11-04 13:03:48 +00:00
briggs 2ed7cf086f Fix a space-wasting bug found by David Huang in his work on the MACE driver. 1997-11-04 13:02:45 +00:00
briggs e19ba716d0 remove an obsolete comment. 1997-11-04 04:00:18 +00:00
briggs 81a98183d1 Puma will soon be looking a bit different. 1997-11-04 03:56:09 +00:00
briggs e658b8b476 Add in the if_mc ethernet driver for the AMD "MACE" part. This is the
internal ethernet on the Quadra/Centris 660av/840av.
Add initial support for the PSC (DMA controller) to support the above
(DMA SCSI remains unsupported).  This involved also changing the way
that several interrupts are handled.
Above from David Huang <khym@bga.com>
Since the interrupts changed somewhat, we must also make the ipls
dynamic, defaulting to their prior levels and adjusted for the AVs.
I modelled this on the hp300.
1997-11-04 03:44:42 +00:00
mycroft ec5fd4954e Set rr0_dcd.
Don't set DCD_IE and CTS_IE here; let the MI code do it.
Handle MDMBUF.
1997-11-02 08:05:06 +00:00
thorpej 7438e6c882 Adjust for ifmedia-related changes to dp8390 driver. 1997-11-02 00:25:11 +00:00
scottr 59498b56f8 From i386: initialize nfs_boot_rfc951 if either NFS_BOOT_BOOTP or
NFS_BOOT_DHCP are defined.
1997-11-01 21:11:07 +00:00
briggs 5298ea207d struct msgbuf -> struct kern_msgbuf. 1997-10-27 03:02:51 +00:00
briggs 8d24ce6b91 Change Q630 type to class-Q2. It's quite similar to the P575. 1997-10-27 02:49:29 +00:00
is a16fd7d74e Make these compile after m68k/m68k.h 1.4->1.5. 1997-10-26 21:41:34 +00:00
briggs 7d0ee36fdb The 16- and 32-bit Apple card types got reversed somehow. 1997-10-26 03:17:15 +00:00
briggs b7321b3d4f Handle interrupts on E-Machines Futura-SX. From Paul Goyette, PR 4348. 1997-10-25 23:17:58 +00:00
briggs 54770f54b4 Scan more than MAXPARTITIONS Mac partitions when loading the fake disklabel.
This allows us to use a root and/or user partition that's not one of the
first 8 partitions in the table, and it allows us to fill the fake disklabel.
1997-10-23 14:58:49 +00:00
briggs a2594d0b33 Lost changes from 1.168 somewhere along the line. 1997-10-22 18:54:24 +00:00
scottr ca99a37396 Enable ipfilter, and add a commented-out rnd pseudo-device line. 1997-10-20 22:52:48 +00:00
scottr 8630149cba Convert to MI 8530 SCC driver, from Bill Studenmund. The new front end
also supports DTR/CTS flow control.
1997-10-20 08:13:26 +00:00
briggs b7a14b5b80 Move sys/sysctl.h to be after vm/vm.h. 1997-10-17 02:28:36 +00:00
briggs 924c665227 Make this compile again. 1997-10-17 00:24:47 +00:00
thorpej 8b921485a0 Pulldown from marc-pcmcia branch: adapt to changes in the MI dp8390 driver. 1997-10-15 16:58:21 +00:00
lukem 28558b28eb rcsid fascism 1997-10-13 14:22:22 +00:00
scottr 1895730762 Fix an oversight in chrtoblktab[], kindly pointed out by Michael Graff. 1997-10-13 03:59:18 +00:00
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mycroft 20b05a6bc4 Make these closer to working. 1997-10-11 09:10:25 +00:00
scottr 017e6c7f10 Address PR 4120 by synchronizing v{,un}mapbuf() with the i386 vm_machdep.c,
v 1.27, pulling in changes made there by Charles Hannum.  Also, incorporate
a few tweaks made by Gordon W. Ross in the sun3 version of this change.
1997-10-11 06:38:45 +00:00
briggs 9f3c7b8b63 Treat an unknown A/UX partition as SCRATCH instead of ignoring it. 1997-10-11 01:03:47 +00:00
scottr a7515413d8 Remove advertising clause. 1997-10-10 05:54:48 +00:00
briggs 71a2747c66 Ignore partitions of type Apple_Driver43 when filling the fake disklabel. 1997-10-10 04:01:02 +00:00
jtc 4229acf79d Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:37:20 +00:00
briggs 4839f9406b Clear interrupts properly on the Radius PrecisionColor 8.
Thanks for the info go to Andrew MacGibbon <andrew-m@cs.auckland.ac.nz>
1997-10-09 01:25:52 +00:00
briggs 4220edeca5 Probe for the SONIC before saying that we found it. Some early Centris
models (low-end) shipped without ethernet installed.
1997-10-09 00:08:00 +00:00
briggs 9c8e4f24b0 Disable video interrupts on the AV machines. Thanks to Michael R. Zucca
(mrz5149@cs.rit.edu) for the addresses and hints as to how the interrupts
might be disabled, and thanks to Henry Hotz (h.b.hotz@jpl.nasa.gov) for
testing on the 840AV.
Unmap the DAFB regs on the other Quadras after attachment.  They're not
used.
1997-10-08 19:54:04 +00:00
scottr 9c7f82f7b8 The annoying message about trusting ourselves to write the PRAM should
really be dependent on DEBUG, not DIAGNOSTIC.  While we're here, add
a couple of DEBUG messages to mac68k_calibrate_delay(), and wrap them
all appropriately so that the messages aren't enabled unless we
specifically ask for them (by setting clock_debug).
1997-10-07 03:04:55 +00:00
thorpej 3b4ad2b60e Copyright assigned to The NetBSD Foundation. 1997-10-05 18:15:51 +00:00
thorpej 030188061e Copyright assigned to The NetBSD Foundation. 1997-10-04 17:36:56 +00:00
briggs 407e2e622f port-mac68k/4158: current kernel doesn't recognize some adb devices.
Patch applied.  Thanks to SUNAGAWA Keiki for the change-request.
1997-10-02 15:12:49 +00:00
briggs 13ceb16786 port-mac68k/4175: Need to add support for 33 MHz LC475/Q605.
Fix applied.  Thanks to David Johnston for the PR and the reminder.
1997-10-02 13:31:13 +00:00
christos 7f41ec0345 PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:50:53 +00:00
briggs a611bcde84 Add another Dayna card to the Apple-compa. list.
Define a constant for the SuperMac Spectrum/24 series III display card.
Thanks go to  Luca Falzoni <falzoni@jetai.unipv.it> for trying out the
code for the Dayna ethernet support.
1997-09-26 00:37:05 +00:00
leo 02f4c2f7e9 atari_round_page() -> m68k_round_page(). My fault, sorry... 1997-09-21 20:35:31 +00:00
leo c5ba7a3102 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:06:37 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
scottr 83bd421ad4 Set up base address of ASC for IIfx, per GtMFH. 1997-09-16 16:28:07 +00:00
scottr eb72408374 Clean up comments. 1997-09-16 16:13:47 +00:00
scottr 8dbfee6073 Add a comment about the sccA address on the IIfx. 1997-09-16 15:51:09 +00:00
scottr 19e555febb Check booter flags for a bit that tells us whether we should construct
bootdev from the SCSI ID passed in via the Booter's environment.
(Does the right thing for older versions of the Booter.)
1997-09-16 14:35:32 +00:00
mycroft a9155c5057 Set the status word as well, and remove a bogus comment. 1997-09-12 10:29:20 +00:00
mycroft 50cfb2fcdd Kill vestiges of Locore.c. 1997-09-12 07:55:17 +00:00
mycroft 982f24e698 Always initialize all registers in setregs(). 1997-09-12 07:00:30 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
scottr 5dd9e25dca For consistency: VIA_initialize() -> via_init() 1997-09-10 04:38:47 +00:00
scottr d1feb13390 Move VIA_initialize() from configure() to locore.s, shortly after
setting up and enabling the MMU.  This has the effect of ensuring
that any stray interrupts that get posted before the IPL is lowered
will be handled gracefully, i.e. without an access fault or illegal
instruction exception.
1997-09-10 04:22:33 +00:00
scottr eb3c36eb89 Add ROM vectors and I/O info for the IIfx. 1997-09-10 03:43:48 +00:00
scottr 01c7934554 Define, implement, and use oss_intr(). 1997-09-09 17:37:10 +00:00
scottr da80f6c913 Catch bus error in sbc_pdma_out() and panic with a reasonable
error message.
1997-09-06 07:53:14 +00:00
scottr 18883bf3fc In itematch(), check to see if the framebuffer PA matches either the
$Fssxxxxx 1MB slot space documented in the old Inside Macintosh, or the
$Fs0xxxxx 1MB slot space documented in the new IM and Guide to Macintosh
Family Hardware.
1997-09-06 06:51:54 +00:00
scottr 093be63832 Back out last commit; it interfered with NuBus video, and will
have to be reworked.
1997-09-04 00:54:04 +00:00
scottr 7883fba4bf Two video-related changes:
- Only set mac68k_vidphys if we're on a machine that we couldn't get
   the Mac OS memory map.
 - If we could get the Mac OS memory map, use the framebuffer size found
   by get_mapping() rather than the size calculated using the Booter
   environment.
1997-09-03 06:40:15 +00:00
scottr e68adcb18e Initialize the bus error and address error vectors explicitly for all
CPUs, and set up the VBR just to be certain.
1997-09-03 06:34:08 +00:00
scottr f30496c3f2 When identifying the CPU, print the scaled factor resulting from
calibration of the delay() loop.
1997-09-03 06:28:55 +00:00
scottr c0f620b961 Don't initialize the bus error and address error vectors; as we do that
in the startup code already.
1997-09-03 06:16:24 +00:00
scottr c4ab61a0cf Eliminate the use of the register keyword, and use standard
type names.  Also, eliminate an unnecessary DEBUG printf().
1997-09-03 06:14:42 +00:00
scottr 59d6043196 Do run-time determination whether to save the TC value for AV
Macs; this way at least those models can configure intvid0.
From Dave Huang.
1997-08-30 22:29:10 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
mjacob 6ac7f6248f add a before tab to SCSIVERBOSE 1997-08-23 19:16:06 +00:00
mjacob 1a7afa3853 add commented out reference SCSIVERBOSE option 1997-08-20 18:38:13 +00:00
briggs e39cac5a38 Get the correct fault address on a bus error on a 68040. 1997-08-16 23:10:49 +00:00
briggs 2a83a9363a Add interrupt handler for SuperMac GFX.
Tested by Kai-Yew Lum <kaiyewl@engin.umich.edu> back in May.
1997-08-15 00:15:32 +00:00
scottr c7079260e5 More machine support:
- Add entries for the LC520, Color Classic, and PB150 to intvid_info[].
 - Make the PB150 a Duo-class machine, as it seems to work better this way.

Now that we're doing the latter, it points out something I missed a long
time ago when I added Duo support:  CLASSDUO was being ignored in
mac68k_set_io_offsets().

PowerBook 150 changes and bug fix provided by Dave Huang <khym@bga.com>
in PR 3970.
1997-08-14 18:23:20 +00:00
scottr f9904b191f Recognize the Sigma Designs ColorMax card, and handle the interrupt. Code
provided by Brian Foley <bfoley@gpo.iol.ie> via Allen Briggs, updated for
bus.h by me.
1997-08-14 06:16:46 +00:00
scottr c988c6f85f Make #include directives consistent. All MD headers are of the form:
#include <mac68k/{dev,mac68k}/foo.h>
1997-08-11 22:53:26 +00:00
ender 85f80dd2c7 o Fixed definition of PowerBook extended keyboard from previous commit
o Added recognition of some additional ADB device types
1997-08-09 20:21:45 +00:00
ender f8f304c76c Add recognition of more keyboard types (including ISO layouts) 1997-08-08 17:58:48 +00:00
scottr 3aa6a4e333 Make the diagnostic panic message when we don't have a pcb consistent
with the message one normally gets when the kernel panics due to
some other unhandled trap.
1997-08-07 21:37:03 +00:00
scottr 740b91a80c Add the Classic II to intvid_info[] 1997-08-07 21:30:20 +00:00
scottr c03541be22 Strip down to bare essentials for these machines. 1997-08-07 19:07:08 +00:00
scottr 06ac03dd55 Fix typo found by Colin Wood, PR 3934: ga_handle should get the value of
the handle, not the tag.
1997-08-03 16:44:24 +00:00
scottr 6f33c6446c Drop splsched() to spl3(), so that it no longer blocks serial interrupts. 1997-08-03 07:20:40 +00:00
scottr 741cf383d0 Adjust prototype for ga_phys field in grfbus_attach_args. 1997-08-03 07:17:31 +00:00
scottr cd74e0d31a Adjust grf_establish() prototype. 1997-08-03 06:52:23 +00:00
scottr f4ef74ae32 Fix grf{i,m}v_phys() prototypes. 1997-08-03 06:42:29 +00:00
scottr dfa83e4861 Overhaul grf drivers to correct recent problems with X and dt
(address error faults), as well as other reported problems:

 - Simplify grfmv_phys() to work like grfiv_phys(), and eliminate the
   second argument to both, as we don't use it anyway.
 - Handle fbbase and fboff consistently throughout.  Closes PR 3862.
 - Eliminate grfaddr() by pulling it into grfmmap(), which is the
   only place it was used, previously.
 - grfmap() now gets the physical address of the framebuffer from
   the appropriate driver, rather than try to compute it by itself.
   Be careful with aligning the base to a page address and increase
   the length of the mapped region appropriately.  Closes PR 2867.
1997-08-03 06:25:56 +00:00
scottr e083a60af2 KNF 1997-07-26 18:13:30 +00:00
scottr ef8ecc05da cli_offset should be a bus_size_t now, and cli_value is an unsigned 32-bit int. 1997-07-26 08:28:20 +00:00
scottr f65445ce80 Add support for Macintosh Display Card, using information provided
by Taras Ivanenko <ivanenko@ctpa03.mit.edu> in PR 3862.  (The PR
is still open, due to an unresolved issue regarding the fbbase
field.)
1997-07-26 08:21:15 +00:00
scottr 5825a3f29c Add option-{1,2,3} as an alternative to option-{,left,right} for mouse
button emulation.  From SUNAGAWA Keiki <kei_sun@ba2.so-net.or.jp> in
PR 3887.
1997-07-25 23:08:15 +00:00
scottr 0f06fa608f Add NETATALK, and be pedantic with a few comments. 1997-07-25 19:53:59 +00:00
scottr 35884534c1 Remove HOSTED_* targets; define and use CPP and SIZE symbols, as inspired
by cgd's recent changes for the Alpha port.
1997-07-24 05:48:51 +00:00
scottr ef7df42303 Since spltty() will not lower the spl, only raise it, we need to
use splx() to undo the effect of the splzs() in zstty_softint().
1997-07-23 07:20:01 +00:00
scottr 3518ffabce The PA of the framebuffer may not be page aligned, so make sure to
do this before comparing against the result of pmap_extract().
1997-07-23 07:17:52 +00:00
scottr c2362b1d29 Remove unused option MAPMEM, as suggested by Erik Bertelsen
<erik@erik-be.uni-c.dk> in PR 3896.  Also, revert to MRG_ADB
(for now), disable NETATALK, and remove unused drivers.
1997-07-23 06:42:40 +00:00
scottr 1a5689c4af Remove unused option MAPMEM, as suggested by Erik Bertelsen
<erik@erik-be.uni-c.dk> in PR 3896.
1997-07-23 06:36:59 +00:00
scottr ec622ce63c GC unused MMSEG definition, from Erik Bertelsen <erik@erik-be.uni-c.dk>.
Closes PR 3898.
1997-07-23 06:33:53 +00:00
scottr 257d26f174 New implementation of _splraise(): use word-length operands where possible
by implementing entirely in assembly.  This saves some 6 bytes on all MPUs,
and about 8 cycles on the 030.

Now that it's optimized, define spltty() in terms of _splraise() so that
we don't inadvertantly lower the SPL.
1997-07-23 06:24:33 +00:00
jtk d36d6d14ab use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:01:26 +00:00
scottr 3284008cff Add DrHw value for the Macintosh Display Card 1997-07-15 15:45:38 +00:00
scottr ec40091111 In nubus_print(), always print the NuBus slot number. Also, refine it so
that when no driver matches, our output is a little more consistent with
existing practice.
1997-07-15 07:43:12 +00:00
scottr 034bf6b188 Clean up some DIAGNOSTIC messages: use %x to display the slot number. 1997-07-14 23:05:35 +00:00
leo 198bd713f2 Generate assym.h dependencies when making 'depend'. 1997-07-12 22:07:36 +00:00
thorpej d9d9b2f705 Remove a comment that has not been applicable for some time. 1997-07-12 19:03:11 +00:00
perry ad1710ce1e update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson 1997-07-12 16:18:36 +00:00
scottr 7a1c9e3d1a Remove a stowaway that got in on the last commit. 1997-07-12 06:13:08 +00:00
scottr 0dd96574d4 Fix from Dave Huang <khym@bga.com> for my exception vector botch for
the '040 and '060 in initcpu().  "D'oh!"
1997-07-12 06:07:24 +00:00
scottr a628a48bba Cosmetic changes to intvid_info[] initialization 1997-07-11 06:02:26 +00:00
scottr a41c255aa0 Update for vm/lock.h -> sys/lock.h change 1997-07-10 18:00:40 +00:00
veego 1450ec3f1b Restore the define of NPTEPG. 1997-07-10 08:23:03 +00:00
is e03fce55ed addql does set condition codes, so we are not allowed to put it in between
the andl and the jeq.
Mea maxima culpa.
1997-07-04 20:52:50 +00:00
scottr 9fc7759ee2 Optimize the bus error handlers a bit; save a couple cycles by dropping
through a branch rather than taking it in the case of an MMU fault,
which also has the desirable side effect of possibly avoiding an
I-cache miss.
1997-07-04 04:49:15 +00:00
scottr d00173ae5a Add support for Portrait Video Card. From SUNAGAWA Keiki
<kei_sun@ba2.so-net.or.jp> in PR 3821.
1997-07-01 19:04:18 +00:00
scottr f2bdde942a Due to reliability problems on some models, back out the more radical of
the pc532/dev/ncr.c-inspired changes; in particular, wait for previous
transfer to complete before starting another, as we used to do.  Retain
splbio() protection and simplified sbc_pdma_in().
1997-06-30 05:24:35 +00:00
scottr ea99cc2796 Fix tyop in last; will link 040-enabled kernels now. 1997-06-29 19:54:57 +00:00
scottr 4428f246a1 Split up CPU-dependent bus error/address error handlers. Mostly from
the Amiga port, but with an extension to save the actual fault
address (in m68k_fault_addr) when we catch a bus error.
1997-06-29 19:02:07 +00:00
scottr 6eb0e7c503 Prototype DCIS(). 1997-06-29 18:56:11 +00:00
scottr 0b7e64bbfa Update for mac68k_buserr_addr -> m68k_fault_addr change. 1997-06-29 06:10:35 +00:00
scottr 7044c8fd8a Get several cleanup chores out of the way. The code is functionally
identical to the previous incarnation.

 - Update using m68k asm.h macros
 - Move initialization towards the front of the file
 - Rename mac68k_buserr_addr to m68k_fault_addr
 - Reorganize trap 15 handler, similar in structure to -- though not as
   complete as -- the hp300 version
 - Reorganize doboot() for easier integration of external cache, and
   make room for the latter (#ifdef __notyet__)
 - General garbage collection of unused code/data
1997-06-29 06:07:39 +00:00
scottr a3bfbcf80a Remove unused (#ifdef'ed) vector 0 initalizer 1997-06-29 05:52:11 +00:00
scottr be164c61ed Garbage collect bad{,b,w,l}addr() 1997-06-29 00:26:12 +00:00
scottr 494cda5d27 Use <m68k/include/asm.h>. 1997-06-28 23:35:02 +00:00
scottr b1f4ee5c2a Identify and use the Apple Twisted Pair NB card properly, from PR 3789
submitted by Denny Gentry <denny1@home.com>; investigation on the hardware
done by Bob Nestor.
1997-06-26 21:08:10 +00:00
briggs 9979fcd706 Fix from camk@telecom.ksu.edu (Kelly Campbell), via Ken Nakata, for a
problem causing SIGSEGVs under FP emulation on the 68LC040.  The size
for the type 4 exception frame was not properly defined.
1997-06-25 12:44:05 +00:00
scottr b43dd86019 Mask off page offset when building a pte for mapping the
framebuffer; from Walter Ruetten, closes PR 3147.
1997-06-19 17:00:02 +00:00
scottr 9dfb9a7f87 Add support for Mouse Systems A3 mouse. From Colin Wood. 1997-06-16 06:35:26 +00:00
scottr db9068c773 Don't call Debugger() if we don't have ddb. Fixes PR 3744. 1997-06-15 20:34:15 +00:00
scottr 36b75f2735 Update from Denny Gentry <denny1@home.com>, PR 3685:
Simplify the way transmit buffers are managed, remove assumptions about
NBPG, simplify sonic_get handling, update snioctl to be more like other
current drivers, and probably a few other changes I've now forgotten about.
1997-06-15 20:20:07 +00:00
mrg 1258c8d25b remove now obsolete "swap on..." lines. 1997-06-12 18:41:58 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
kleink c41a940888 GC obsolete MDP_AST flag. 1997-06-11 08:58:09 +00:00
veego 61e0a78f37 s/mac68k_btop/m68k_btop/ 1997-06-10 20:29:10 +00:00
veego d9f8fea042 The 'Mach derived conversion macros' are now in <m68k/param.h> 1997-06-10 19:15:03 +00:00
veego 6d72d4542c s/mac68k_btop/m68k_btop/ 1997-06-10 19:13:36 +00:00
veego e4b7dd88ce s/mac68k_round_page/m68k_round_page/ s/mac68k_trunc_page/m68k_trunc_page/
s/mac68k_btop/m68k_btop/ s/mac68k_ptob/m68k_ptob/
1997-06-10 19:11:26 +00:00
veego ef9394e96d s/mac68k_trunc_page/m68k_trunc_page/ s/mac68k_btop/m68k_btop/
s/mac68k_ptob/m68k_ptob/
1997-06-10 19:09:05 +00:00
veego f4068b5345 s/mac68k_round_page/m68k_round_page/ s/mac68k_trunc_page/m68k_trunc_page/ 1997-06-10 19:03:38 +00:00
veego 0dc0a3ca5e s/mac68k_btop/m68k_btop/ 1997-06-10 19:02:33 +00:00
veego dd62be796a s/mac68k_trunc_page/m68k_trunc_page/ 1997-06-10 19:01:35 +00:00
veego 0cd13fe0b5 s/mac68k_round_page/m68k_round_page/ s/mac68k_trunc_page/m68k_trunc_page/
s/mac68k_btop/m68k_btop/
1997-06-10 19:01:00 +00:00
veego 931d90fcee Use the MI <m68k/param.h> include. 1997-06-10 07:54:35 +00:00
veego a204fb7981 Initialize machine from MACHINE. 1997-06-08 23:54:19 +00:00
scottr 4f74abe8b7 Remove redundant cpu_set_kpc() prototype, found by Paul Goyette. 1997-05-22 18:40:10 +00:00
scottr a777c246ad Adjust for previous m68k/pcb.h change 1997-05-20 03:25:07 +00:00
scottr d93126b350 Use common m68k/pcb.h; noted by Erik Bertelsen <erik@sockdev.uni-c.dk>,
closes PR 3650.
1997-05-19 17:36:45 +00:00
scottr a0d035c410 Fix some printf format inconsistencies; from SUNAGAWA Keiki
<kei_sun@ba2.so-net.or.jp>, fixes PR 3619.
1997-05-19 17:23:09 +00:00
veego a078a4be55 Fix lossage from the latest vm_pmap changes. 1997-05-19 10:14:47 +00:00
gwr a8af683eb9 Eliminate references to vmspace.vm_pmap 1997-05-13 18:00:49 +00:00
scottr fac0bcfedb Update a recently-added comment re: bytelanes values. 1997-05-13 13:22:56 +00:00
scottr 5b80f9077f Tweak sbc_drq_intr() (interrupt-driven PDMA interrupt handler); it
now works properly on at least some disks.  Further testing is
necessary.
1997-05-13 06:34:00 +00:00
scottr 3b7a1d3ab0 Convert several interrupt handlers to bus space model, removing some
XXX's.  Also, fix a bug in grfmv_intr_generic() that I found and
confirmed with Allen.
1997-05-12 20:35:50 +00:00
scottr 61322b7b85 KNF and other cosmetics. 1997-05-12 07:53:58 +00:00
scottr bfc4c6c42d Whoops; here's the rest of the Deferred Task Manager changes. 1997-05-12 07:53:04 +00:00
scottr 5842491f1c Add en implementation of the Deferred Task Manager, contributed by Paul
Goyette <paul@pgoyette.bdt.com>.
1997-05-12 07:29:29 +00:00
scottr ee80f1200e Implement new NuBus slot space mapping/probing code, utilizing bus.h (and
our MD bus_space_probe() extension).  This has several side effects:

 - NuBus drivers must map and unmap slot space, rather than relying
   on this happening before they are attached.
 - Functions exported to NuBus drivers from nubus.c now need to be
   supplied with a bus space tag/handle pair.
 - Old bus map/peek functions can be garbage collected, as can pmap
   support for the same.

Because of some current limitations of the bus space specification, we
are violating the abstraction in grf_mv (NuBus grf driver).  All such
violations are clearly marked /* XXX */, and must be addressed when
the specification is updated.
1997-05-11 19:11:27 +00:00
scottr 94e0a9b88d Update to current configurations. 1997-05-08 04:09:27 +00:00
lukem c4eb220ea5 minor whitespaco fixes 1997-05-07 00:32:44 +00:00
lukem 5352e2713a be consistent with use of spaces and tabs. 1997-05-06 00:31:49 +00:00
briggs 5230506ca5 Support for clearing interrupts on a Rasterops Colorboard 364.
Thanks go to Michel Chalufour <michelc@tiac.net> for grovelling around for
me.
1997-05-03 02:29:54 +00:00
briggs 1b2e317732 Thanks to Tobias Beal <tbeal41@maine.maine.edu>, we can clear interrupts
on at least one Radius Precisioncolor 8 board.
1997-05-02 00:54:28 +00:00
briggs aba671db48 Treat drhw 118 and 119 the same for Apple ethernet cards. 1997-05-01 18:17:13 +00:00
briggs a64bc3c19c Clear the interrupts properly on an E-Machines Futura II LX and make a wild
guess at clearing them on a Futura II SX/DSP and RasterOps ColorBoard 364.
Thanks to Michel Chalufour <michelc@tiac.net> for loaning me the II LX.
1997-05-01 03:34:07 +00:00
briggs ef185efb22 Add in a couple more board types. 1997-05-01 03:31:07 +00:00
scottr 19f1b8dd3f Remove dependency on if_aereg.h for vendor constants; these are really
driver-, not architecture-specific.
1997-04-30 19:47:11 +00:00
scottr b28e1b9459 Fix typo in last change. 1997-04-30 19:32:32 +00:00
scottr 4a36cdfd19 Adjust to use16bit -> dcr_reg change in MI driver. 1997-04-30 18:10:37 +00:00
scottr 0852aa1f1a Use the new 8390 driver back end. 1997-04-29 05:17:13 +00:00
scottr 63ac9ee6e0 Use the new MI 8390 driver, and garbage collect. 1997-04-29 04:40:22 +00:00
scottr c69d32662f From Mycroft: Oops; forgot to GC the last mbuf allocated when
out of clusters.
1997-04-28 20:31:16 +00:00
scottr 70dcf0b5f6 Undo a hack added in the last overhaul (which caused an extraneous byte
to be written to the target).  Also, use the sc_min_dma_len field
to determine whether to use PDMA or PIO.
1997-04-28 15:59:20 +00:00
briggs d25f63a7bf What was I thinking? 1997-04-27 19:26:48 +00:00
briggs e861dbf8c7 A couple of performance improvements from Denny Gentry <denny1@home.com> 1997-04-25 03:40:09 +00:00
thorpej 6a00a9aa75 Adjust for <m68k/m68k/trap_subr.s> 1997-04-25 01:35:45 +00:00
scottr 72111ae284 From Mycroft: If we fail to allocate a cluster to hold a large packet,
simply drop it rather than using a chain of tiny mbufs.
1997-04-24 16:52:05 +00:00
scottr c1c244e0a3 Implement new crash dump format. Mostly taken from hp300, extended to
support multiple physical RAM segments by me.  Garbage collect functions
obsoleted by this change.
1997-04-23 19:15:16 +00:00
briggs ed74d8f653 On video devices, if we're loading non-default resource values, save the
resource ID.  Thanks to Paul Goyette <paul@pgoyette.bdt.com> for spotting
this one.
1997-04-23 13:37:43 +00:00
scottr 9784a8d3cf space vs. tab formatting, KNF 1997-04-22 21:00:04 +00:00
scottr b09a74e8b9 If we can't map SONIC register space, just print a diagnostic message and
continue.  Make formatting consistent and KNF while here.
1997-04-22 20:56:15 +00:00
scottr a653364eb1 Remove obsolete drsw diagnostic; make formatting consistent; KNF. 1997-04-22 20:32:08 +00:00
scottr 65673e5ec2 Make formatting consistent; inline -> __inline__; KNF. 1997-04-22 20:26:24 +00:00
scottr 2111f73a90 Remove obsolete drsw diagnostic 1997-04-22 20:21:59 +00:00
scottr e733e600d3 #ifdef DIAGNOSTIC, print the NuBus type fields for unrecognized boards. 1997-04-22 20:20:32 +00:00
briggs d13ebf0e72 Make sure that we unmap the space that we mapped if we can't identify the card. 1997-04-22 13:45:38 +00:00
briggs d2a4acec48 Initialize 'offset' to make gcc happy. 1997-04-22 03:04:33 +00:00
scottr 43f35682d8 April 18 update from John Wittkoski, w/space vs. tab KNFing by me. 1997-04-21 18:04:28 +00:00
briggs fc43576e8d Take care when accessing DAFB--some quadra-class machines use other video
controllers.
1997-04-21 00:57:59 +00:00
scottr 7e00ee54d8 Fix itematch() for case where fboff is not zero. From Dave Huang,
closes PR #3501.
1997-04-20 20:31:18 +00:00
scottr 19c5134870 For small writes, use PIO rather than PDMA; this increases the reliability
of the driver (considerably, on some systems/targets).
1997-04-18 17:38:08 +00:00
briggs bbc4732fd1 Fix from Denny Gentry--initialize receive seq. counter. 1997-04-18 12:04:37 +00:00
scottr 11b0f01c17 Make sure to call adbop() on Power Manager-based machines. Noted by
Takashi Hamada, who also provided the code I based this modifcation
on.
1997-04-18 05:53:41 +00:00
scottr e938a61ba3 Organize cpu_reboot() like hp300; this allows us to behave less
surprisingly if the power off sequence doesn't work as expected,
and simplifies the code a little.  Fix the doboot() prototype
to quash a warning from gcc.
1997-04-16 07:16:49 +00:00
scottr ac4989250c Use opt_mrg_adb.h header (missed in previous commit) 1997-04-15 07:02:50 +00:00
scottr 00631be59a Use genassym.sh to facilitate cross-compiling. 1997-04-15 06:11:38 +00:00
briggs 16865d719a Take a stab at making this more reliable. 1997-04-15 03:22:50 +00:00
scottr aae8cccb0f Use the new opt_mrg_adb.h header. 1997-04-14 16:56:26 +00:00
scottr 4cd7e839d7 Direct config to create an MRG_ADB option header. 1997-04-14 16:55:02 +00:00
scottr 7793be9949 Purely cosmetic cleanup:
- Remove unused `register' modifier on declarations
  - Reverse the sense of some tests to make the code more clear
  - Type casts per KNF
  - Move a static variable into the only function that uses it (perhaps
    we can eliminate it entirely, someday?)
1997-04-14 16:28:34 +00:00
scottr 4ed2d4414f Add copyright notice. 1997-04-14 06:25:32 +00:00
briggs 90754f0770 Capslock support from Steve Brown <sbrown@best.com> 1997-04-14 01:02:47 +00:00
briggs 13175a1a16 Use an offset parameter when loading the reg_map--some cards use the "other"
16 bits of the words.
1997-04-14 00:44:01 +00:00
briggs 6d338ace93 Oops. We do not want to unmap something that we've used bus_space_subregion
to get.
1997-04-13 16:42:34 +00:00
briggs 4a3016b6b6 Some updates based on information from Bob Nestor <rnestor@metronet.com>
about his SONIC-T LC/PDS card.
1997-04-13 14:21:09 +00:00
scottr 4765dedbf5 Move all splxxx() and softint-related macros and prototypes to intr.h,
and include it where appropriate.
1997-04-13 05:12:40 +00:00
thorpej 2da8464bdf - Use common mac68k sigcode.
- Garbage-collect icode; hasn't been used in eons.
1997-04-13 02:43:51 +00:00
scottr 319087fd92 Use common m68k sig_machdep.c, removing our local copies of these. 1997-04-11 00:58:23 +00:00
briggs 306e81deb2 Ignore SE/30 faux-video card. 1997-04-10 20:34:23 +00:00
briggs 0350ba7412 Some patches from Bob Nestor <rnestor@metronet.com> and myself to edge
toward support for an Apple SONIC-based ethernet card.  Some cards, like
his, were being missed and/or probed like video cards!
1997-04-10 03:28:54 +00:00
briggs b38a17b793 Comment video cards and add define for SuperMac Thunder/24. 1997-04-10 03:25:02 +00:00
briggs 6287b4096d Changes from Denny Gentry <denny1@home.com>:
Change in the way receive buffer areas are handled.  Before we gave
the chip 16 buffers, each 1536 bytes (big enough for one packet).
Now we're handing the chip 8 buffers, each 4 Kbytes, and letting
the chip fit as many packets as it can in each one.  This should
help keep it from running out of buffer space.  Also make some of
the performance-crucial routines inline.  It made no measurable
difference except to make me feel better

Changes from Bob Nestor <rnestor@metronet.com> to get closer to support
for his Apple SONIC-based nubus card.

Changes from me to try to get SONIC's MAC address from MacOS settings if
we can't read the PROM space.
1997-04-10 03:22:45 +00:00
briggs 574874a2a9 Changes from Bob Nestor to come closer to supporting his Apple SONIC-based
nubus card.
1997-04-10 03:19:46 +00:00
thorpej 05b9a6baa5 regdump() takes a struct trapframe * 1997-04-09 20:20:46 +00:00
thorpej eb1dd7d391 Garbage-collect regdump() and friends. 1997-04-09 20:19:08 +00:00
thorpej db6a46bc6e Use <m68k/m68k/proc_subr.s> 1997-04-09 20:17:24 +00:00
thorpej 2550431af9 regdump() is prototyped in m68k/cpu.h now 1997-04-09 20:12:44 +00:00
thorpej b7f72bd8a9 Remove redundant file directives. 1997-04-09 20:11:33 +00:00
scottr a2a2afbe56 Sigh. Bracket a label used only #ifdef COMPAT_SUNOS. 1997-04-09 07:22:12 +00:00
scottr 63d0d33c86 Make C-\\ work; from Bill Studenmund, who noticed the swapped keycodes.
Closes PR #3294.
1997-04-09 04:48:57 +00:00
scottr 58d41d0f98 Fix several more instances where the volatile modifier was needed.
From Allen.
1997-04-08 06:53:28 +00:00
scottr a051dc4e0f Fix typo: MRG_DEBUG -> MRG_ADB 1997-04-08 06:16:07 +00:00
scottr 042e6d3b98 Add 'done' symbol for last change. (oops.) 1997-04-08 06:02:04 +00:00
scottr bd9967862f Clean up unused code, KNF bus_probe() 1997-04-08 05:27:28 +00:00
briggs df0a7e0440 Changes from Michael R. Zucca <mrz5149@cs.rit.edu> for 16-bit and 32-bit
console support.
1997-04-08 04:47:08 +00:00
scottr f1c1f7e54d Make new ADB driver the default. 1997-04-08 04:21:15 +00:00
scottr 4d9095b0b0 Updates from John Wittkoski for new ADB driver. 1997-04-08 03:19:04 +00:00
scottr 76c66a06b3 Direct-to-hardware ADB interface/driver, written by John P. Wittkoski. 1997-04-08 03:16:18 +00:00
scottr 484820c623 Power Manager interface/driver, written by Takashi Hamada. 1997-04-08 03:11:37 +00:00
scottr bf23759b27 Add MRG_ADB option. 1997-04-08 03:00:37 +00:00
scottr b6a4a3826c Update for current configuration, including sbc reselect mode. 1997-04-08 02:59:16 +00:00
scottr 396cf17033 Fix SunOS user trace trap handling, from Gordon. 1997-04-07 22:54:44 +00:00
scottr f65f7e9b21 Always enable SCSI IRQ interrupt; the SBC_INTR flag now controls only
the SCSI DRQ interrupt, for "blind" transfers.
1997-04-07 05:56:28 +00:00
scottr 29c981b924 Rework PDMA read/write functions based on Matthias Pfaller's pc532 ncr
driver.  Major highlights:

 - Protect with splbio(), now that interrupts from the chip might be
   enabled by default;
 - Wait for current transfer to complete before returning, rather than
   wait for previous transfer to complete before starting another;
 - Instead of logging a "timeout" message when a target disconnects,
   just return, letting the sbc_ready() and sbc_wait_not_req() print
   timeout messages if such really did occur.

With interrupt changes to sbc_obio.c, disconnect/reselect now works if
configured into the kernel.
1997-04-07 05:48:35 +00:00
briggs 99d2687e23 Mask off 'internal slot' in check to see if we should enable nubus intrs. 1997-04-04 15:33:30 +00:00
briggs 28af7de8a4 Do not set DCR_SYNC for the C/Q[68]xx systems.
Thanks to Steve Brown <sbrown@best.com> for working with me to find this.
1997-04-04 14:54:44 +00:00
christos 6c015f3a49 Add netatalk netisr 1997-04-03 15:59:54 +00:00
briggs ca0531b7f4 Add DrHW for RasterOps CB264--From Scott Reynolds--and link it in to the
proper interrupt routine.
1997-04-01 13:31:38 +00:00
briggs 71bf5ccd79 Remove tag. 1997-04-01 13:31:03 +00:00
briggs a3d5b32614 - Support DAFB machines mo' better. Actually detect if a monitor is
present and initialize a few things.  No color support, yet.
  - Properly disable interrupts for DAFB.
  - Rearrange for better nubus display card interrupt support.  Only register
    an interrupt if we know how to clear it.
  - Complain if we don't know about a given display card and can not install
    an interrupt handler.
  - Change MYSTERY stuff to cb264--still need to get the DrSW so we can
    actually call the routine to clear an interrupt from this card.
1997-04-01 05:41:59 +00:00
briggs 2606fe6cbd Some new SONIC code from Denny Gentry <denny1@home.com> with a couple of
tweaks and bug fixes by yours truly.

Here's what Denny had to say:

nubus.h:
        - add a drsw entry for my card
	[ I also added a couple of constants for more display cards ]
if_sn.c:
        - allocate sc->space using malloc (Scott wanted this).
        - make csr accesses use NIC_PUT/GET, remove sc->sc_csr.
        - add multicast and IFF_PROMISC support. multicast isn't
                well tested, but I made sure the unicast case still
                works.
        - finish the new arp interface, remove sc->sc_enaddr
if_snreg.h:
        - remove struct sonic_reg
if_snvar.h:
        - add NIC_PUT and NIC_GET macros a la if_ae
        - remove sc_txhead, it isn't used.
if_sn_nubus.c:
        - clean up support for my SE/30 card.
        - Move add_nubus_intr from if_sn.c (to keep if_sn.c MI)
if_sn_obio.c:
        - make Q610, C610, Q650, C650, Q800 use EXBUS.
        - PB500 had a "return" where "break" was intended. PB500
                probably wasn't working.
        - move add_nubus_intr from if_sn.c.
        - add an "explanation" why Apple's ethernet addr is encoded
                in token ring format in the PROM.
1997-03-30 19:51:44 +00:00
briggs e15f7fac43 Fix bug that would have prevented PB5xx series from detecting the SONIC.
Bug noticed by Denny Gentry.
1997-03-29 02:34:40 +00:00
thorpej cb24b0200a Don't allocate mclrefcnt[]; it's dead and gone. 1997-03-27 21:01:20 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
scottr 9614615f6f Add se driver 1997-03-24 18:28:40 +00:00
scottr 5fd56d4f40 Add se, and make some comsmetic changes for easier maintenance. 1997-03-24 18:20:10 +00:00
scottr f3f27175b6 Clean up after arp conversion; from Erik Bertelsen, closes PR 3372. 1997-03-21 21:42:39 +00:00
scottr 1c9987dab4 Several minor changes:
- Indent some comments appropriately per KNF.
 - Output all diagnostics using the device name rather than a static string.
 - Fix a (mostly marmless) bug in snintr(), where loss of heartbeat wasn't
   properly ignored and could mask the `receive descriptors exhausted'
   diagnostic.
1997-03-20 17:47:51 +00:00
scottr 1c0a3c8ce7 Several more changes to move us toward MI-ness:
- Use more consistent and portable types in the softc.
 - Map registers using an array of bus_size_t offsets, and set up the
   mapping in the attach code (thanks to Jason Thorpe for suggesting
   this!).
 - Disable the ae-specific watchdog, which is no longer necessary in
   the general case.

Still remaining:  split out functions used to copy data to/from the
card, and retain a way to have a local driver name with the MI code.
1997-03-19 08:04:38 +00:00
briggs 79c7b2b3f4 Help this compile and get the nubus address into myaddr instead of
sc->sc_arpcom.ac_enaddr.
1997-03-18 00:34:31 +00:00
scottr 52348e9646 Some cards we identify as InterLAN cards do not seem to have the MAC
address in the configuration ROM.  For these, fall back to the old method
if we can't find the expected sResource record.
1997-03-17 20:26:01 +00:00
gwr 08f7a407f9 Separate bcopy and copypage stuff from copy.s 1997-03-17 19:46:36 +00:00
scottr 3c9709606d Clean up some missed pieces of the new ARP conversion. 1997-03-17 18:37:17 +00:00
briggs b315c448dc Flip around Takeshi Yanagisawa's name. Add back a physaccess() call that I was a bit hasty
in removing.
1997-03-17 13:11:24 +00:00
briggs 559613a9a7 *Blush* It's Denton, not Dennis, Gentry. 1997-03-17 12:26:52 +00:00
briggs e716e490a1 Make this compile again. XXX - save ethernet address in softc until multicast is supported. 1997-03-17 04:57:56 +00:00
briggs c20d7dc997 Integrate a couple of changes suggested by Scott Reynolds and Takeshi Yanagisawa. 1997-03-17 04:38:28 +00:00
is 530a88d144 On request from Allen Briggs, converted this to new ARP
system. Somebody should actually test if this compiles (and works) on
Mac68k... I only carefully checked cvs diff -u.
1997-03-16 13:41:14 +00:00
thorpej b6f3695cd1 Use <m68k/m68k/support.s> 1997-03-16 11:04:52 +00:00
briggs 4b6b2bb9f8 SONIC driver--originally from pica. Much work done by Dennis Gentry and
Takeshi Yanagisawa to get it working.  Some minor hacking by me here and
there.
1997-03-15 20:26:35 +00:00
briggs 6f71d88157 Specify SONIC for 040 powerbooks and for CLASSQ and CLASSQ2 machines. 1997-03-15 20:17:40 +00:00
briggs 6fc69ce7cb Add SONIC driver. Works on my Q700. Untested elsewhere. 1997-03-15 20:07:37 +00:00
scottr cc391b64de Remove obsolete MAC68K_BROKEN_VIDEO option. 1997-03-15 18:35:47 +00:00
scottr 702735759b Defer enabling NuBus slot interrupts until all slots have been probed
and drivers attached.  This removes the need for the MAC68K_BROKEN_VIDEO
option.  From Allen Briggs.
1997-03-15 18:33:44 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
briggs 3d16e320d6 Move physaccess/physunaccess prototypes. 1997-03-15 05:39:45 +00:00
mycroft f868dff8d3 Define the `cleankernel' target consistently with other ports. 1997-03-14 23:27:29 +00:00
scottr 12098dae8a Add missing call to ae_nb_get_enaddr(), from <kei_sun@ba2.so-net.or.jp>.
Fixes PR 3312.
1997-03-10 17:55:15 +00:00
briggs 47392571c5 Undo some damage that CVS somehow let me get away with. 1997-03-06 02:14:51 +00:00
briggs a2173962b8 Copyright foo. 1997-03-05 15:19:18 +00:00
scottr fd81cf2b92 Correct offsets in the memory size probe; bus_space uses byte offsets. Fix suggested by
Ken Nakata.
1997-03-04 15:12:04 +00:00
scottr 956ec2a47c The previous optimization of the interrupt handlers was a bit too
agressive.  Being a little more conservative pays the biggest dividend.
1997-03-04 04:11:52 +00:00
scottr f749003301 Fix part of last change: don't mask off the high bit of the VIA IER until
the interrupt has been unflagged.  Problem noticed by Paul Goyette.
1997-03-03 04:19:06 +00:00
scottr 93d8b2c8b0 Add the MAC68K_BROKEN_VIDEO option, which is a hack that delays enabling
NuBus interrupts until an Ethernet card is attached.
XXX  This should go away at some point, obviously.
1997-03-02 06:43:00 +00:00
scottr 152b0ab7d2 Adapt to sbc driver/attachment split 1997-03-01 20:22:16 +00:00
scottr 421abedbfe Split bus-dependent autoconfig code from the driver. This allows for
the future addition of a Duo Dock front end.
1997-03-01 20:18:58 +00:00
scottr df7f40213a Allow A1 to be used for passing arguments to ROM routines. Also, clean up
debugging printf() formats.  From Allen Briggs and Paul Goyette.
1997-03-01 17:20:34 +00:00
scottr a4b0e4c070 Protect MCLSHIFT definition so users can customize MCLBYTES, from Jonathan. 1997-03-01 06:57:45 +00:00
scottr 42be6ebfa7 Fix prototype for espmatch() 1997-03-01 06:38:36 +00:00
scottr 215c0b896a Convert to generalized VIA interrupt registration 1997-02-28 15:50:50 +00:00
scottr 705c637874 Define aesetup() to return an int, so that the attach function can
determine whether there was an error (if so, we unmap the slot space
for this device).  Use this functionality to tell the attach function
that we couldn't clear the card's buffer.

Also in aesetup(), eliminate the bogus repetition of the error message
we print when the buffer clear actually fails.  Noticed by Hauke Fath.
1997-02-28 08:56:05 +00:00
scottr 0b3eb5f3f2 Remove duplicate <machine/bus.h> include that crept in. 1997-02-28 07:54:02 +00:00
scottr 17fdd597df Move the NuBus-specific watchdog function from if_ae.c to if_ae_nubus.c,
and allow the attach function to override the default watchdog.  Also,
do some minor cosmetic surgery (rename bus space tags/handles and some
KNFing I missed the first time around).
1997-02-28 07:52:44 +00:00
scottr 359101fb43 Convert to generalized VIA interrupt registration 1997-02-28 07:46:59 +00:00
scottr 8f37a2983b Generalize VIA1 and VIA2 interrupt registration a bit, and do a slight
optimization on the VIA interrupt handlers.
1997-02-28 07:41:41 +00:00
briggs 5933eeaaed Add ncr53c9x flag to esp. 1997-02-27 14:07:59 +00:00
briggs 868344972a mac68k-specific portion of m.i. ncr53c9x driver. 1997-02-27 14:06:25 +00:00
gwr 2de163471e Minimal changes to adapt to removal of NCR5380_PERMIT_RESELECT.
This driver should be updated to allow per-target control over
disconnect/reselect, but I will leave that to the port masters.
1997-02-26 22:29:08 +00:00
scottr a2a40938b1 Move bus-independent setup code back into if_ae.c; enable the use of
configuration flags.  For NuBus cards, attempt to find the MAC address
in the declaration ROM resources.
1997-02-25 06:36:04 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
scottr f03ee128a3 Add support for the Kinetics EtherPort SE/30, from Ken Nakata. 1997-02-24 07:34:18 +00:00
scottr 965cffaf20 NUBUS_SLOT_TO_PADDR -> NUBUS_SLOT2PA 1997-02-24 06:20:04 +00:00
scottr 155eb6369a Update to reflect ae driver/attachment code split 1997-02-24 06:05:20 +00:00
scottr 6b0774a865 Split out the NuBus attachment code, and convert to bus.h 1997-02-24 06:03:55 +00:00
scottr 5e77023e13 The bus space tag really isn't used; stop the compiler from complaining. 1997-02-24 05:55:14 +00:00
scottr 9c91a181d6 Update copyright and license. 1997-02-24 05:47:33 +00:00
scottr 7524900a0f Remove niggles that made it into the copyright, and correct the
license terms (added Jason Thorpe).
1997-02-22 04:56:17 +00:00
scottr db2ab09cf2 Add bus.h, in light of recent nubus_attach_args changes 1997-02-22 02:17:40 +00:00
scottr ec6725f267 Make this compile again; missed this file when fixing nubus.h errors. 1997-02-22 00:00:34 +00:00
scottr 5c8de7766a Implement bus_space_set_multi_N(), bus_space_set_region_N(), and
bus_space_copy_N().  Bus space support is now complete.
1997-02-20 05:53:00 +00:00
scottr b1e5912330 We need bus.h now, due to recent nubus_attach_args change. 1997-02-20 00:23:25 +00:00
scottr c079123e89 Add a bus space tag field to nubus_attach_args 1997-02-19 06:21:49 +00:00
scottr 25c49f276f Revive in simplified form; include GENERIC and enable md_root hooks. 1997-02-14 06:27:20 +00:00
scottr 150538df02 Add memory disk pseudo-device 1997-02-14 06:23:14 +00:00
scottr 0b91c7f0cb Use MAKEBOOTDEV macro to construct bootdev 1997-02-14 06:15:30 +00:00
scottr 662401449a Remove incorrect comment re: bootdev 1997-02-14 06:13:50 +00:00
scottr 967e257614 Implement bus_space_alloc() and bus_space_free(), borrowed from i386. 1997-02-14 06:10:53 +00:00
scottr 6066941306 Add prototypes for bus_space_alloc() and bus_space_free() 1997-02-14 06:02:57 +00:00
scottr f6f4cf1d40 Remove redundant info from bus_space_map() diagnostic in ascattach() 1997-02-13 19:55:48 +00:00
scottr 0f53b79607 #include <sys/systm.h> to bring in printf() prototype 1997-02-13 19:42:42 +00:00
scottr 603a2bd8f4 Add hsk and drq locators, which will be used only by SCSI devices. 1997-02-13 19:01:07 +00:00
scottr ed573bfb7c Split the obio interface into two forms: optional address only for most
devices (obio_norm) or optional address, HSK, and DMA for 5380-based SCSI
controllers (obio_scsi5380).  Update all obio-attached drivers
appropriately.

Also, attach fpu to mainbus, rather than obio.
1997-02-13 18:59:06 +00:00
scottr 570e1f1eb2 Attach the fpu to mainbus, not obio 1997-02-13 17:29:43 +00:00
scottr 7e1c9811f9 Move asc0 here from std.mac68k. Remove COMPAT_SUNOS, as it's dead weight
on this machine.  Add some minimal driver descriptions.
1997-02-12 04:47:05 +00:00
scottr 362d7e5473 Move asc0 here from std.mac68k. Add some minimal driver descriptions. 1997-02-12 04:31:35 +00:00
scottr 8807428ab4 Move asc0 here from std.mac68k, and enable PFIL_HOOKS option so that
the if_ipl LKM can be loaded.  Add some minimal driver descriptions.
1997-02-12 04:29:10 +00:00
scottr cdcbc525e6 Move asc to individual kernel config files 1997-02-12 04:26:05 +00:00
scottr f5ac9d5deb Add a bus space tag field to obio_attach args, initialize it in
obio_search(), and use it in the ASC driver.  Thanks to Jason for
pointing this out.  Minor KNFing while I'm here.
1997-02-11 22:44:25 +00:00
scottr f9e4592ed5 Add an addr locator to obio. 1997-02-11 21:25:07 +00:00
scottr 78098d98dc Remove dependency on asc driver, using generic console bell callback
instead.  Bell parameters are now entirely self-contained, as they
are managed by ite-specific ioctl()'s.
1997-02-11 07:51:18 +00:00
scottr 77e960bf17 Complete revamp of Apple Sound Chip support. The ASC can now be accessed
as a real device whose registers and buffers are available through mmap(2),
which makes further development of the driver considerably less painful.
1997-02-11 07:47:36 +00:00
scottr 2a2a70d39c Initialize and use extent manager for bus space mapping functions.
Tweak bus_space_{tag,handle}_t types slightly to facilitate this.
1997-02-11 07:37:41 +00:00
scottr 154aa56b01 Add asc character device; kill cdev_grf_init() macro. 1997-02-11 07:35:49 +00:00
scottr 876ad8d706 Console bell callback support prototypes 1997-02-10 22:13:40 +00:00
scottr e0be798a98 Add needs-flag to asc driver 1997-02-10 22:11:27 +00:00
scottr c1370f4435 Add console bell callback support 1997-02-10 22:06:20 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
scottr d8deae5099 Convert to bus.h; this removes the need for the ASCBase global. 1997-02-03 17:36:00 +00:00
scottr f042e543c9 Implement basic bus space access macros/functions.
Note:  we currently do not use the extent manager.
1997-02-03 17:32:54 +00:00
scottr df2df037ca copypage() is now declared in m68k/cpu.h 1997-02-02 21:33:30 +00:00
scottr ea6b85a8db copypage() is now declared in m68k/cpu.h 1997-02-02 18:19:55 +00:00
thorpej 07ded04c6f Use zeropage() in pmap_zero_page() 1997-02-02 08:20:38 +00:00
thorpej 6bab515bce zeropage -> devzeropage, and make it static. 1997-02-02 08:18:58 +00:00
thorpej 2282bab9ea Garbage-collect extra copypage() 1997-02-02 08:17:46 +00:00
scottr 37fbc156dc Now that we can compile without warnings, enable -Werror 1997-02-01 21:55:23 +00:00
thorpej bb1cdc5027 Yet Another NFSCLIENT -> NFS. (I must be getting tired.) 1997-01-31 06:13:42 +00:00
thorpej 87e3085155 Adopt for new file system and root spec grammar. 1997-01-31 06:02:19 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej 5f46d3130a Use new machine-independent setroot(). 1997-01-31 01:51:17 +00:00
scottr b19a7547d4 Forgot PFIL_HOOKS; correct this. Also, organize options less insanely. 1997-01-26 18:41:19 +00:00
scottr db2c833016 Add LKM, ipfilter 1997-01-25 22:44:08 +00:00
scottr 818ebb4e22 Add `options LKM' 1997-01-25 22:41:40 +00:00
scottr 017d77a9f9 `::\' => `:\' ; per recent sys/lib/*/Makefile.inc changes. 1997-01-25 22:39:32 +00:00
thorpej 7b40f5228e "md" is declared in sys/conf/files, now. 1997-01-21 09:39:20 +00:00
scottr d19b3500e3 Define single-instruction implementations of setsoft*() and siroff(),
and declare ssir as volatile.  This avoids the problem of lost softints
should a hard interrupt cause a softint to be flagged while we are
clearing a different one.

Idea from atari mtpr.h, modified/optimized by me.
1997-01-20 05:08:00 +00:00
scottr b8b7d0ba0c Kill uninitialized variable warning in trap(), plus mir KNFing 1997-01-20 04:30:05 +00:00
scottr 7c87e4e501 #ifdef out write hack, and fix possible uninitialized variable. 1997-01-20 04:27:49 +00:00
scottr 1c4a180f28 Compile with -O2 now. 1997-01-20 00:31:42 +00:00
scottr 82f443d641 Minor formatting cleanup, and remove an old comment 1997-01-20 00:30:56 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
scottr 4ee6502e8b Whoops, forgot to include ipfilter.h 1997-01-13 23:46:11 +00:00
scottr d186ff0991 Add ipfilter (pseudo-) device. 1997-01-13 23:34:04 +00:00
scottr 121971f622 Compile with -O2 (need to update COPTS so we still get -m68030) 1997-01-13 07:08:51 +00:00
scottr 9792072925 Compile kernels with -O2 1997-01-13 07:06:51 +00:00
scottr e14ea342e3 Some changes to make ADB work when compiled with -O2:
- extdms_done is modified by things outside of our direct control;
    it needs to be declared `volatile'
  - CountADBs() fails when we call it the second time.  We can work
    around this by telling extdms_init() how many ADB devices we have,
    only calling CountADBs() once.
1997-01-13 07:01:23 +00:00
mikel aed485cdf2 add 'pseudo-device ccd' where necessary; PR kern/1830. 1997-01-11 09:11:37 +00:00
scottr 233a1d3f57 Use only FC $1 in TT0 in get_pte(), and map the entire address space. We
can then access the page table entries directly using user data space with
the MOVES instruction.  This should resolve the problem on the Duo 2x0
series with hard hangs in this function.

Warning:  do not call any function that accesses user data space (FC $1)
from get_pte()!
1997-01-09 07:28:12 +00:00
scottr 8bd4e6d18e Sync with current 040-related development:
- Figure out what CPU we have, rather than assuming the Booter knows,
   and set cputype variable accordingly.
 - Carefully rearrange the order of various MMU/ATC operations so as to
   eliminate possible side effects.  Also, re-order the initial bootstrap
   code to make clear what various sections of this code do.
 - Adjust to combined initenv()/genenvvars() (the latter has assimilated
   the former).
 - Add a function code argument to ptest040().
 - Use symbolic constants from assym.h where appropriate (and defined).
 - Some style cleanup.
1997-01-09 07:24:39 +00:00
scottr cd2817bffb Sync with current 040-related development:
- Combine initenv() and getenvvars().
 - Hardwire some PowerBook internal video addresses, from Takashi Hamada.
 - When printing out the machine model/CPU, use the new cputype variable
   instead of the Booter's PROCESSOR environment variable.
 - Use new ptest040() function code argument (though for now, the MMU is
   disabled on the 040).
 - Revert previous change in get_physical() that seems to have broken
   some machines; use an ADD instead of an OR when determining the PA.
 - Some (very minor) style cleanup of asm code.
1997-01-09 07:20:46 +00:00
scottr f832503ac5 Add CACHE40_ON, for locore 1997-01-09 07:14:17 +00:00
scottr 4211100164 Don't unlock the NuBus on PowerBooks; this bit controls the Power Manager
chip on these machines.  From Takashi Hamada.
1997-01-07 07:45:45 +00:00
scottr a54b50a58c If 040 MMU is enabled, attempt to get memory mapping. (At present, this
can't happen because we've faked a disabled MMU.)
1997-01-07 07:44:01 +00:00
scottr c0af85f6f3 Add CPU_XXX macros to assym.h 1997-01-07 07:42:17 +00:00
scottr 3753710f38 Fix typo in last: cf->cf_unit -> sc->dv.dv_unit 1997-01-07 07:40:46 +00:00
scottr 3afad659e2 Add basic support for a Duo dock SCSI controller, from Daishi Kato.
XXX - This could probably be improved if all docking hardware has a
NuBus declaration ROM that we can get to.  This should be investigated
further.
1997-01-05 10:01:42 +00:00
scottr 8a30e067ed Sync COMPAT_SUNOS trace trap handling with other m68k ports; no
functional change.
1996-12-31 06:32:17 +00:00
pk f750d179be rename: ramdisk => md 1996-12-28 23:42:33 +00:00
pk 603b61c3e0 rename: ramdisk => md 1996-12-28 23:22:07 +00:00
scottr e8b8d1b050 Clean up a few bogons+typos introduced in the removal of the broken indirect
config code.
1996-12-19 21:48:17 +00:00
scottr 9d67345760 Correct asm operands in mrg_Delay(); it has one output operand, and no
input operands.  This corrects an uninitialized variable warning, and
may also explain some erratic behavior of the MRG ADB; gcc could throw
away the value of the `ticks' variable (but I haven't traced through
any ROMs, myself).
1996-12-18 07:21:06 +00:00
scottr 3ac126bc23 Work around another uninitialized variable warning 1996-12-18 05:44:31 +00:00
scottr 94714822e7 Work around another gcc initialization warning. 1996-12-18 05:17:44 +00:00
scottr affc68cf0c Work around another bogus uninitialized warning, and fix a legitimate one.
Clearly mark the former.

XXX The bogus warnings show up with -O, but not -O2.  Unfortunately,
    NetBSD/mac68k can't (yet) use -O2.
1996-12-18 05:04:22 +00:00
scottr e70f884a92 Fix the potentially uninitialized variable in clear_screen() (correctly
pointed out by gcc -Wall).
1996-12-18 03:06:06 +00:00
scottr e330279eea Work around uninitialized variable warning 1996-12-18 02:54:43 +00:00
scottr 1460fbef53 Remove -Werror for now (sigh). Somehow this slipped through several
kernel compiles without getting caught.  Lame gcc optimizer bug.
1996-12-17 13:58:26 +00:00
scottr 5b7c2842ae Take avantage of COPTS appropriately. 1996-12-17 07:33:01 +00:00
scottr 1999f88fac Add sample sbc config line; format 'options' lines for consistency. 1996-12-17 07:22:30 +00:00
scottr e9ce47936c Add -Werror, remove -Wno-uninitialized. 1996-12-17 07:04:21 +00:00
scottr a7dc02ac8a Remove __BROKEN_INDIRECT_CONFIG, since we are no longer broken. 1996-12-17 07:00:12 +00:00
scottr 07bde0d4e7 Revamp mainbus and obio autoconfiguration, with some direction (and the
indirect bus code framework) from Jason Thorpe.  This allows us to dump
bus_scan() and bus_print(), and move bus_peek() and bus_mapin() to the
NuBus code (since they'll eventually go away, anyway).
1996-12-17 06:47:37 +00:00
scottr b96c3097ed Define struct nubus_attach_args 1996-12-17 03:56:11 +00:00
scottr 9b4055eb72 Convert all foo_match() functions to use a `struct cfdata *' for their
second argument.  The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
1996-12-16 16:17:02 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
thorpej ef5333043b Copyright assigned to The NetBSD Foundation. 1996-12-09 17:46:44 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
jonathan 4c1d96de78 * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

  Leave `mandatory' flags (like  -msoft-float which  on m68k enforces no
  FP in kernel) in CFLAGS.
1996-12-01 06:12:25 +00:00
scottr 86b50e865d Add missing ss, uk, and rd devices to cdevsw 1996-11-21 08:33:22 +00:00
scottr 1e3acdfc88 Kill the conspa variable, and use mac68k_vidphys instead. Where we used
to initialize conspa was invalid on non-040 machines, since we don't
know which MMU we're using on those, yet.  On the other hand, by the time
we get to check_video() on the 040 machines, the MMU has been disabled.
Compromise:  get the video PA in setmachdep() on the 040, and in
check_video() on the others.  (This is not optimal.  *sigh*)
1996-11-19 07:17:47 +00:00
scottr 1ad7567f7f - Move non-optional options SWAPPAGER, VNODEPAGER, and DEVPAGER to std.mac68k
- Catch up with vm/vmparam.h (remove MACHINE_NONCONTIG)
- Fix space/tab niggles in SPOT config
- MYSTERY now includes the esp driver
1996-11-19 00:38:05 +00:00
briggs 1372eab6c5 Include MACHINE_NONCONTIG here. It isn't needed on all macs, but it has been
used for all macs for quite some time.
1996-11-15 14:21:00 +00:00
briggs cca82e59db Remove scsi96 driver. 1996-11-15 14:16:42 +00:00
thorpej a0dffcafc2 Use bitmask_snprintf(). 1996-11-13 07:00:30 +00:00
scottr 563b939722 Remove unused MAXFDESCS option. Closes PR 2927, noticed by Erik
Bertelsen <erik@aarhus1.uni-c.dk>.
1996-11-11 18:02:57 +00:00
scottr b0aafba53e Remove TIMEZONE and DST, as they default to 0 anyway 1996-11-11 17:56:11 +00:00
scottr df8e1c8a09 VT220-related emulation additions:
- Add reset attribute sequences for bold, underline, and reverse
 - Add insert/delete line sequences
 - Recognize but ignore G0/G1 character set sequences

Performance:
 - Speed up clear_line() when clearing the entire line

Also, some stylistic changes for checking/setting scroll region bounds
and in putc_getpars().

These changes make the ITE work properly with the 1.2 termcap file.
1996-11-10 09:35:04 +00:00
briggs 51d658e787 Check to make sure that ASCBase is accessable before claiming that we
have an Apple Sound Chip.  Make sure that we have configured the device
before allowing accesses to ASC memory.  Among other things, this
prevents the 660AV and 840AV from getting a kernel bus error when trying
to beep on the console.
1996-11-09 17:26:26 +00:00
briggs f75767628e Dump out type, code, v on panic for no pcb in trap(). 1996-11-09 15:36:14 +00:00
cgd 8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
scottr 047ae9a04d LC III+/Performa 460 series use same vectors as the LC III.
Verified by Bob Nestor and Pete Nush.
1996-11-05 07:20:09 +00:00
briggs bbd25d0c38 - Move offset for 2nd scsi controller (Q900/Q950/WGS95) to 0x402
instead of 0x400.
- Restructure interrupt handling for more performance--continue to
  read/write data as long as the device keeps us in a data xfer phase.
  There is still a lot of room for speed improvement here.  Perhaps it
  lies is speeding up the interrupt path in general?
1996-11-04 21:20:01 +00:00
scottr 9da963b048 Remove include of ncr96scsi.h, since it's now an artifact, and the
unused include of ncrscsi.h while we're here.
1996-11-02 07:18:53 +00:00
briggs 7685e9d70b Improve reliability on my Q700, at least. Was getting the occasional
glitch--an extra byte on occasion.
1996-11-02 06:52:24 +00:00
briggs 20c7b48d76 macs with scsibase offset 0x10000 from iobase use a SCSI CLK of 16.5MHz
(off PrimeTime)--all others appear to use 25MHz.
1996-10-30 05:39:21 +00:00
briggs d5e58a6b20 Fix spelling error in panic. Double since of ResHndls[]. Use I/O kludge on
all systems, not just CLASSII--A bunch of Quadras apparently have hardcoded
I/O addresses in the ROMs, too.
1996-10-30 05:30:57 +00:00
briggs a4d7da78e4 Add esp1 at obio? 1996-10-29 06:16:29 +00:00
briggs 50c2da8f27 Interrupt-driven, but slow, NCR 53c96 driver for the 040-based macs. Contains
some guesses for the machines that have two of these buggers (I don't have
such a machine).  This driver is a copy of the sparc/alpha esp with a
minimum of changes--after we get it performing a bit more respectably,
we should see about re-normalizing the sources.
1996-10-29 06:08:58 +00:00
briggs 32e07b8b3a Add prototype for mac68k_register_scsi_b_irq(). 1996-10-29 05:42:16 +00:00
briggs 215afb273e Flag Q900/950 as having a second scsi controller. 1996-10-29 05:36:15 +00:00
briggs 487a6bebfc Add a function to install an interrupt handler for 2nd scsi bus (Q900/950).
Take a guess that it's at via2, bit 0 (where 5380 DRQ is).
1996-10-29 05:33:37 +00:00
briggs 35667ae56f ncr96scsi -> esp for consistency with sparc and alpha. 1996-10-29 04:26:57 +00:00
briggs 3c34dac1d0 Obsolete. 1996-10-29 04:23:50 +00:00
briggs 1e7948408e Most 040 models have scsi regs at base + 0x10000, not base + 0xf000
like the Q700.
1996-10-28 03:54:08 +00:00
briggs 4675aac3cf Set SCSIBase properly on Quadras. Separate out CLASSAV. From Dave Huang
<khym@bga.com>.
Also fix COMPAT_NOMID to compile again.
1996-10-23 14:12:37 +00:00
briggs 0363bd9a12 Include ether.h since we're now using NETHER, also use NETHER > 0 not NETHER. 1996-10-23 13:35:41 +00:00
scottr 289b73be85 Fix a raft of printf format strings and some declaration problems for
the case where we define DEBUG.  From Erik Bertelsen, closes PR 2871.
1996-10-21 05:42:23 +00:00
briggs 084b3f6a4c Fix two bugs noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>
via.c: don't allow spl to remain at splhigh on error.
mainbus.c: Make sure that variable is initialized.
1996-10-21 01:59:31 +00:00
scottr a6865e3d2b Don't try to reference nfsbootdevname if we have no ether devices.
Fixes PR 2860, from Paul Goyette <paul@pgoyette.bdt.com>.
1996-10-21 00:31:18 +00:00
scottr 6bb6fab4ce Changes from the hp300 trap.c:
- Fix up usage of MBD_ISPID().  (from Jason Thorpe)
- Be careful not to deref bad pointers in the MMU fault handler.  (ditto)
- Ensure trap() never deals with a NULL proc, and if our proc has
  no pcb, punt.  (Suggested by Gordon Ross)
1996-10-17 06:42:44 +00:00
scottr ccaecc2dda Some changes from hp300 (thanks Jason!):
- Initialize proc0.p_addr just after setting up the kernel stack, to avoid
  getting NULL pointers in trap().  Change suggested by Gordon Ross.
- Panic if main() returns.
1996-10-17 06:32:13 +00:00
scottr e326c3123f We're paranoid; disable the IIci's cache card. 1996-10-16 04:00:28 +00:00
scottr 3370e6c419 External cache card on the IIci is enabled by default;
use DISABLE_EXT_CACHE to turn it off.
1996-10-16 03:55:21 +00:00
scottr a6bbf8fc5b Define MACH_CLASSQ2, used by Performa 575.
Remove susword() because of prototype conflict with <sys/systm.h>.
1996-10-15 14:42:49 +00:00
scottr b599d4a3f6 We no longer need 'options GENERIC' 1996-10-15 07:25:55 +00:00
scottr dca6a7e025 Critical fix from Bill Studenmund: if CTS is deasserted and then
immediately reasserted before we get a chance to process the interrupt,
we can inadvertantly get stuck with zs_tx_stopped set.  Move the delta
detection to the hard zs interrupt handler; the softint handler
will notice that something has happened with CTS and restart the
transmitter if it's asserted.
1996-10-15 06:57:43 +00:00
scottr 6cd86aa894 BSD -> NetBSD 1996-10-15 06:41:48 +00:00
scottr f4eeb69eab Several 68040/68LC040-related changes; we're not there yet, but this
brings us closer to basic operation.

  - Verified/updated ROM vector entries for many systems, and new vector
    table entries for LC 520, LC 575/577/578, and Quadra 950
  - Implement a new machine class (MACH_CLASSQ2) for the LC 575 series
  - Use the ptest040() helper function in get_physical().

Also, in straytrap(), only enter the debugger #ifdef DDB.
1996-10-15 06:40:39 +00:00
scottr 31d8d5c176 Implement ptest040(), a helper for get_physical(). 1996-10-15 06:31:07 +00:00
scottr 534c6caa6b Add EXEC_AOUT and EXEC_SCRIPT 1996-10-14 07:01:10 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
christos 40ecbf8e72 backout previous kprintf change 1996-10-13 03:21:13 +00:00
scottr 2903ee4df5 Add second Quadra class and machineid (gestalt value) for Color Classic II 1996-10-12 07:35:29 +00:00
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
cgd e36e19cf1e repoint at shared aout_machdep.h, not exec.h 1996-10-08 13:07:26 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
scottr 872c12f95f Update ROM vectors for PB 500 1996-10-07 04:05:02 +00:00
scottr 4d11703980 Disable 040 caches in doboot(), and some minor stylistic changes to make
the hand-coded assembly consistent throughout.
1996-10-07 01:37:20 +00:00
scottr d036bd234e Sync with Chris' changes to the alpha setroot() and friends to resolve some
problems with entering "halt" at prompts.
1996-10-04 14:07:03 +00:00
scottr 0f40954572 Add ROM vectors for the LC III, verified by Mike DeLima
<miked@netrover.com>.
1996-09-27 06:55:29 +00:00
scottr 21761e4ec0 Update for recent config(8) changes. 1996-09-22 06:49:09 +00:00
briggs 197a86e724 Don't allow get_physical to attempt get_pte if mmutype is 68040.
(At least until get_pte works on the 040).
1996-09-18 03:33:23 +00:00
scottr d13cb4414c Convert `fpu_type' to the more consistent `fputype', and use the new
#defines from m68k/include/cpu.h.
1996-09-16 18:00:26 +00:00
scottr 3cf197cef1 Somehow the last change got mangled. Do over. 1996-09-16 05:24:21 +00:00
scottr 014f910806 Add ZS_CONSOLE_ABORT 1996-09-16 04:35:25 +00:00