Commit Graph

1437 Commits

Author SHA1 Message Date
scottr
4c69a8b2ea Update for bus.h changes. 1998-01-13 19:15:32 +00:00
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