Commit Graph

601 Commits

Author SHA1 Message Date
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
thorpej 772da350d4 Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
1998-02-19 04:18:30 +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
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 4c69a8b2ea Update for bus.h changes. 1998-01-13 19:15:32 +00:00
thorpej 36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
drochner 35718a7622 Use of BOOTP or BOOTPARAM can be conntrolled by config option now. 1998-01-09 17:21:10 +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
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
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
scottr 355a8bbccd We don't do old-style miniroots anymore. 1997-12-01 05:51:51 +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
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
veego 86086729e7 if NARP -> if NARP > 0 1997-11-13 10:48:19 +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
briggs c1ed70f0d8 NetBSD RCSIds. 1997-11-07 13:31:15 +00:00
scottr 13fa4227b1 Update from John Wittkoski: bug fixes for Cuda support. 1997-11-07 07:33:11 +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 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
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
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 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
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
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
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
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
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
leo 02f4c2f7e9 atari_round_page() -> m68k_round_page(). My fault, sorry... 1997-09-21 20:35:31 +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 eb72408374 Clean up comments. 1997-09-16 16:13:47 +00:00