Commit Graph

318 Commits

Author SHA1 Message Date
thorpej 2d53e59a47 Update for changes to config. 1998-01-12 19:51:03 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +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 b46484bb8a RCSID Police. 1998-01-05 20:51:25 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +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
scw 3adf82c90e Grok boot partition argument delimited by a colon. Force RB_ASKNAME
when partition argument is present.
1997-12-17 21:33:10 +00:00
scw c0ba23773d Always write primary bootstrap code to raw partition, even when the
secondary bootstrap is on partition >= b.
1997-12-17 21:30:23 +00:00
scw ea634df03a Workaround for bug in 147Bug PROM (my version, 2.2, at least) which
prevents booting from tape in the obvious way.
1997-12-17 21:28:02 +00:00
scw 4b78217d87 Conf file suitable for the ramdisk installation kernel. 1997-12-17 21:24:11 +00:00
scw f7b8b2dc36 Add file-system KERNFS for the benefit of miniroot install. 1997-12-17 21:20:06 +00:00
scw ea4e9ca4f6 Doh! 'avail_end' is a physical offset, not a page number! 1997-12-06 20:29:59 +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
kleink c87631771e Add COMPAT_13. 1997-12-01 14:52:51 +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 8b485c5962 Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
for NARP. This is for the 'new' arp system.
1997-11-13 10:43:06 +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
thorpej 6e1637f157 asm volatile -> __asm__ __volatile 1997-11-05 04:05:00 +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
scw d0d3cc7965 Remove paragraph describing problem with initialising VMEbus RAM cards'
parity bits. Initialisation now handled during kernel startup.
1997-11-01 19:18:39 +00:00
scw cb8172bce4 Chnage MACHINE_NONCONTIG implementation such that the message buffer is
always located at the end of onboard RAM. This allows locore.s to zero
any offboard RAM to initialise the parity bit which most VMEbus RAM cards
have. Without this, many cards buserr on the first read access.
Thanks to Herb Peyerl for the idea.
1997-11-01 17:56:47 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
scw 6eb98e720f Finally nobble the last MACHINE_NONCONTIG gremlins. Needed to add
<machine/vmparam.h> to pmap.c and locore.s. Plus, genassym.sh needed
to have USRSTACK removed due to conflict with vmparam.h
1997-10-21 19:25:08 +00:00
scw 3c1ce11613 Fix includes. (Make sure <vm/vm.h> gets pulled in before <sys/sysctl.h>) 1997-10-19 10:53:14 +00:00
christos e42293ca28 fix chrtoblk declaration 1997-10-16 23:37:34 +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
thorpej 1ae5ca3411 Initialize interrupt handlers and message buffer in mvme68k_init(). 1997-10-13 00:21:08 +00:00
thorpej 118885e061 Consolidate some initialization in mvme68k_init(). 1997-10-13 00:19:37 +00:00
thorpej 05c4cae34d We don't need to call isrinit() twice. 1997-10-13 00:18:28 +00:00
scw e01a82f2a0 Describe how to configure and use VMEbus RAM cards with an MVME147 card. 1997-10-12 15:45:12 +00:00
scw 73699f5ad7 Fix bug whereby if no VMEbus RAM is defined, a MACHINE_NONCONTIG kernel
would fail to boot.
1997-10-12 15:41:39 +00:00
scw 01e0c4c896 Move MACHINE_NONCONTIG from std.mvme68k to <machine/vmparam.h> as per
Jason's request.
1997-10-12 15:39:35 +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
scw 2dde7e366d Added support for VMEbus RAM cards via MACHINE_NONCONTIG.
The kernel should still compile and run without it, but I've
put the config option in std.mvme68k so it's built like this
as standard.
1997-10-09 21:39:16 +00:00
jtc 4229acf79d Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:37:20 +00:00
thorpej 3b4ad2b60e Copyright assigned to The NetBSD Foundation. 1997-10-05 18:15:51 +00:00
lukem 7d508b124f define SIZE?=size, and use ${SIZE} instead of size. makes cross
compilation easier
1997-10-03 07:17:00 +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
scw d2cd21c0ef Fixed typo. in FPU_68882 entry for MVME147 1997-09-28 11:29:48 +00:00
leo ef6f3f7e25 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:08:24 +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
mycroft a9155c5057 Set the status word as well, and remove a bogus comment. 1997-09-12 10:29:20 +00:00