Commit Graph

1560 Commits

Author SHA1 Message Date
kleink
aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
scottr
22b90adcc2 Add the remaining kgdb pieces from sun3/hp300, with some mac68k-specific
adjustments to initialization.
1998-05-05 06:48:51 +00:00
thorpej
fcb3331f98 Switch to UVM. 1998-05-04 05:00:12 +00:00
scottr
9dfbdab6ec Move on-board I/O and NuBus drivers to their own directories
via repository copy, and make the necessary adjustments to reflect
the moved files.
1998-05-02 16:45:27 +00:00
scottr
487e3b222d Dead, unused, kaput. 1998-05-02 06:46:45 +00:00
scottr
1b01139f4f Dead, unused, kaput. 1998-05-02 06:32:39 +00:00
scottr
d4c74c8b59 Quiet an (imo bogus) warning from gcc 2.8.1 regarding braces and
if-else statements.  Change suggested by Taras Ivanenko in PR 5334.
1998-05-01 03:53:47 +00:00
scottr
cb160f72a3 Missed a prototype in the NuBus interrupt handler cleanup.
Fixes PRs 5365, 5367, 5368, and 5373.
1998-05-01 03:42:47 +00:00
scottr
6c884e2aa8 Correct thinko in last commit 1998-04-26 21:20:26 +00:00
scottr
a57c68946c GC the old MACHINE_NONCONTIG code. 1998-04-26 21:12:03 +00:00
scottr
06487a637a Use VM_PSTRAT_BIGFIRST, and add a comment explaining the decision. 1998-04-26 20:06:26 +00:00
scottr
268cc1fea2 Generalize add_nubus_intr() a little more. Also, complete KNFing. 1998-04-26 18:25:58 +00:00
briggs
1ab7701474 Deal with the video interrupt for the RasterOps 8/24XLi. Thanks for the
information go to Tadashi Ueda <ng6t-ued@asahi-net.or.jp>.
1998-04-26 16:47:39 +00:00
scottr
fbf76298d3 GC several unused NuBus-related variable. While here, do some KNFing. 1998-04-26 03:59:18 +00:00
scottr
547ff1e300 Handle avail_start properly when setting up physical RAM segments.
Also, remove a KGDB-related piece that got committed prematurely.
1998-04-26 03:49:47 +00:00
scottr
c5302e839e Attempt to clear stray NuBus interrupts in the default slot
interrupt handler.
1998-04-25 21:39:54 +00:00
scottr
aa1b4c6045 Garbage collect the second (slot number) parameter to NuBus interrupt
handlers.  (Only slot_ignore() and slot_noint() need this, and we already
have a place to put this information.)  Adjust add_nubus_intr() so that if
the client_data arg is specified as NULL, pass the slot number as
client_data to the interrupt handler.
1998-04-25 21:27:40 +00:00
scottr
00c8745cf0 Conditionalize some code that is only needed in the MACHINE_NONCONTIG
case.  Eventually we'll want to GC this.
1998-04-25 18:06:44 +00:00
scottr
12e01e36dd Missed removal of MACHINE_NONCONTIG. Pointed out by Allen. 1998-04-25 06:48:05 +00:00
scottr
e0114270c1 Replace outdated comment regarding the physical segment list in
mac68k_init() with something more appropriate.  Also, remove an
extraneous but fortunately harmless line of code.
1998-04-24 06:12:29 +00:00
scottr
0b0a42a47d From Allen: deal with avail_end correctly. This is simple
with the recent modifications to get_mapping() which caused it to
maintain a sorted segment list.
1998-04-24 05:53:29 +00:00
scottr
8bcac06284 Checkpoint of UVM work to date. This includes a fully-functioning
MACHINE_NEW_NONCONTIG interface implementation, which is now enabled
on all systems.  Thanks to Jason Thorpe for his work on the hp300 port,
from which most of the code used here was derived.

XXX In spite of the fact that it works on the hp300, UVM does not (yet)
work well under load on mac68k.
1998-04-24 05:27:24 +00:00
scottr
0066f1fb4e Pull in a few more kgdb-related bits. Getting there... 1998-04-24 05:15:25 +00:00
scottr
28a3c86926 Update to present reality. 1998-04-24 05:14:37 +00:00
scottr
132026d9aa Garbage collection. (Wow, some of this stuff was _old_.) 1998-04-24 05:11:11 +00:00
scottr
72d21eb8e0 Make get_mapping() create a sorted segment list, coalescing
adjoining regions (except for the segment starting at the address
we loaded the kernel).  This simplifies cpu_init_kcore_hdr()
considerably, but the real win will be with MACHINE_NEW_NONCONTIG.
1998-04-24 05:08:58 +00:00
briggs
fc3bdd6128 Add interrupt support for two more video cards: the Formac color card II
and the Radius PrecisionColor 24Xp.  Thanks to <falk.stern@luene.net> and
<Mario_Magliocco@broder.com> for their remote sleuthing and testing.
1998-04-24 01:58:44 +00:00
scottr
88aa59e1cd Correct type of 'nofault', and some whitespace KNFing. 1998-04-20 06:46:16 +00:00
scottr
ec5cc6194d More kgdb groundwork pulled from hp300. While I'm in here,
correct some type-related problems and eliminate the register
qualifier.
1998-04-20 06:45:26 +00:00
scottr
a2973edb42 Lay groundwork for KGDB by pulling in the trap 15 handler from hp300. 1998-04-20 05:46:04 +00:00
scottr
b57acd6cd4 Minor adjustment for genassym.cf change. 1998-04-20 05:41:21 +00:00
scottr
a8cdbbf548 Garbage collect the constants we don't need. 1998-04-20 05:40:28 +00:00
scottr
d87f21702e Make type explicit for egcs, from Erik Bertelsen in PR 5288. 1998-04-13 02:36:24 +00:00
scottr
9a7810a03e Make type explicit for egcs, from Erik Bertelsen in PR 5288.
While we're here, kill register qualifier and other KNF.
1998-04-13 02:35:21 +00:00
tv
b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
scottr
ff2ed23c61 If we know the location and size of the on-board video buffer,
don't bother to try and suck the information out of the Mac OS page
tables.
1998-04-10 02:56:56 +00:00
ender
84ada512a7 Add the newly created bus_space.c so it gets compiled. 1998-03-31 22:09:28 +00:00
mycroft
692fe3cc96 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 23:14:14 +00:00
scottr
8e25cfb973 Better integration of Power Manager IC ADB driver into the direct ADB driver framework,
from Takashi Hamada.  Also includes a handler for unsolicited ADB
packets.
1998-03-29 03:50:30 +00:00
scottr
e3e82a2bd2 Move bus_space implementation to bus_space.c. 1998-03-27 18:11:31 +00:00
scottr
a1c2154bd6 Add (commented out) ALTXBUTTONS option. 1998-03-27 06:12:32 +00:00
scottr
57191652f3 Don't map Opt-{1,2,3} to mouse buttons unless the ALTXBUTTONS option is
specified.  (Doing so breaks German keyboards!)  Fixes PR 4929.
1998-03-27 06:10:54 +00:00
scottr
5fa1b5f440 Add Performa 580/588 to the list of machines which have a Cuda chip.
XXX - we should really be using machine ID symbolic constants here, not
numbers.
1998-03-26 06:25:49 +00:00
scottr
82bda6ec9d The monitor sense code we have is not reliable on DAFB-based machines with
certain 17" monitors.  Change from Michael R. Zucca, PR 4988.

XXX - This can cause problems on system with the DAFB chip which currently
use only a NuBus-based video adapter.  In particular, grf devices may not be
attached properly in this case.  This unfortunate situation is less annoying
than not having a reasonable console, however.  A reasonable, reliable
monitor sense algorithm for the DAFB would resolve the problem.
1998-03-22 23:40:52 +00:00
scottr
15c668e600 Disable Valkyrie interrupts on the Quadra 630. Part of a change
from Michael R. Zucca, PR 4988.
1998-03-22 23:13:52 +00:00
bouyer
9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
scottr
20a21d162e Sync mc_rint() prototype with if_mcvar.h. (How did this
one slip by?  Forty lashes for me...)
1998-03-09 23:05:28 +00:00
scottr
da7d7ca568 Add magic number for driver map structure. (oops!) 1998-03-02 22:40:31 +00:00
scottr
e3dfc809c6 Remove dpme.h, as it's no longer necessary. 1998-02-27 09:17:18 +00:00
scottr
c1ea2b45ff Integrate Macintosh partition map and driver descriptor map definitions. 1998-02-27 09:15:21 +00:00
scottr
f5f997d1dc Bump down maxusers to a reasonable value on a machine with 8MB. 1998-02-27 01:33:14 +00:00
perry
1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
scottr
a316576397 A change ripped out of i386/machdep.c:
--
When allocating bus space in bus_space_alloc(), use EX_FAST to find
the first fit in the map.  The previous behavior violated the principle
of least surprise (especially annoying when you're debugging space allocation
problems).  Suggested by Chris Demetriou.
1998-02-24 07:06:39 +00:00
scottr
15b125de34 ROM vectors and related information needed to support the Performa 588
(and quite probably all LC/Performa 580/588 models).  Thanks to
Yasuhiro Endoh for providing the necessary data.
1998-02-24 07:00:14 +00:00
scottr
6f382db074 The code compiled in by the MADHATTER option is now standard issue. While
here, do a bunch of KNF, particularly whitespace issues.
1998-02-24 05:59:34 +00:00
scottr
c285c9fbfa Remove the limit on bufpages we picked up from i386 in 1993
(which was removed from that port not long after), as it's not
an especially meaningful test.

Also, bump the number of swap buffers allocated to 3/4 the amount
of file i/o buffers (taken from the Amiga port).
1998-02-23 07:24:44 +00:00
scottr
c1a185be97 Mostly KNF. There's still a bunch of ugly comments and some problems
with long lines, but this is at least a big step in the right direction.
1998-02-23 03:11:26 +00:00
scottr
e50238f77a Rewritten II-series ADB code from John Wittkoski. Also, a whole
lotta KNF.
1998-02-23 03:09:40 +00:00
scottr
81d2791bd9 Unify ADB options and place them all into opt_adb.h. Provide a knob to
enable ADB debugging messages if ADB_DEBUG is configured.
1998-02-21 00:37:07 +00:00
scottr
0ca6188f89 Fix for ADB hang while probing, based on information from Colin Wood:
Rather than waiting indefinitely for a mouse or extended keyboard to
respond -- which may not even exist -- time out after 2 seconds and
continue.  This corrects a very common problem with the MRG-based ADB
driver that has bitten many people running 1.3.
1998-02-20 18:14:10 +00:00
thorpej
772da350d4 Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
1998-02-19 04:18:30 +00:00
cgd
3bbb7f7d45 Move pmap_map() function definition to MD headers, as appropriate. It's
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +00:00
thorpej
8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
scottr
f49dd3ef30 Avoid declaring the "astpending" and "want_resched" globals in cpu.h,
as this breaks C++ code that happens to indirectly include this header.
Both Matthias Scheler and I noticed this, independently.

This problem notably does not affect the atari and sun3/sun3x ports,
which have already implemented a similar solution.
1998-02-13 07:41:45 +00:00
scottr
a3675acf9f Make space for want_resched here, like most of the other m68k-based ports. 1998-02-13 07:39:02 +00:00
mycroft
b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
is
b3fa451227 Amiga uses the common m68k/sig_machdep.c now. Also moved its definition from
the other 68k ports' files.${port} to arch/m68k/conf/files.m68k.
1998-02-01 21:23:24 +00:00
ross
3a83745247 In some hp300-derived pmaps, in pmap_page_protect(), don't walk off the
end of the list of physical->virtual entires into NULL space if the last
entry is (mysteriously) wired in the pmap. Add a DEBUG printf on alpha.
1998-01-31 01:32:55 +00:00
mycroft
15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
scottr
35e9372060 Add entries to the intvid_info table that are equivalent to
the (in)famous MADHATTER patch.  The only one that has been
tested is the Q700, however, so the rest are conditionalized
on the MADHATTER option until they can be verified.
1998-01-17 23:10:22 +00:00
scottr
8df1b7a0f8 Now, correct the problem the correct way: s/cfattach/cfdriver/ 1998-01-17 17:32:07 +00:00
scottr
696871f9e3 Back out previous change. 1998-01-17 17:28:35 +00:00
scottr
5f3c1d48e0 We haven't needed a driver-specific minphys() for quite some time now. 1998-01-17 09:27:03 +00:00
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