Commit Graph

258 Commits

Author SHA1 Message Date
thorpej
d11b109f2b Garbage-collect use of the PCB's copy of the user segment table pointer. 1998-01-06 06:51:40 +00:00
perry
2ec6474b31 RCSID Police. 1998-01-06 04:44:59 +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
oki
ac86463ce3 Make compile without options MACHINE_NONCONTIG. 1997-12-24 17:48:10 +00:00
oki
49779c8c5a Add MDP_STACKADJ. 1997-12-24 17:46:08 +00:00
kleink
bb7bb0093d Add COMPAT_13. 1997-12-01 16:33:39 +00:00
fair
315f8de9c2 add pseudo-device rnd, commented out 1997-11-20 08:11:14 +00:00
lukem
e8cb388f65 * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:58:31 +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
lukem
2793a8e02a use CPPFLAGS instead of CFLAGS 1997-10-26 22:09:43 +00:00
is
a16fd7d74e Make these compile after m68k/m68k.h 1.4->1.5. 1997-10-26 21:41:34 +00:00
oki
a6dfd800c9 Test device is configured in interrput handler. 1997-10-19 20:45:11 +00:00
oki
3e2d17592a add support for MK-HA2 Mach-2 SCSI host adaptor. 1997-10-19 20:41:02 +00:00
oki
968a155917 Add options M68060, mha driver. 1997-10-19 16:04:57 +00:00
oki
742eb9d713 new bootfloppy kernel configuration file. 1997-10-19 16:03:11 +00:00
oki
ad0f2e276a pretty message. 1997-10-19 15:32:57 +00:00
oki
9e3da87164 Use common m68k/sig_machdep.c. 1997-10-19 15:17:24 +00:00
oki
624322fb6a Make this compile new bootblock code. 1997-10-19 11:03:38 +00:00
oki
3f9967ed1d New bootblock code (compressed kernel support).
mostly written by ITOH Yasufumi.
1997-10-19 11:00:51 +00:00
oki
bbe9571856 Make this compile again. 1997-10-19 10:59:55 +00:00
oki
cfe6621afa Support of MK-HA1 Mach-2 SCSI adaptor. 1997-10-19 09:29:25 +00:00
oki
73c0b0f2a6 for ramdisk kernel 1997-10-19 08:16:40 +00:00
oki
ea023e3b94 Use rnd.h and #if NRND > 0. 1997-10-17 20:28:06 +00:00
oki
e8b2ab848c Make this compile again. 1997-10-17 20:24:35 +00:00
oki
3846baf664 Fixed gcc warnings. 1997-10-16 16:24:47 +00:00
oki
3f6dddc5cd Remove use of register. 1997-10-16 15:43:54 +00:00
thorpej
0154e69e5a Pulldown from marc-pcmcia branch: minimal changes to change x68k port's
"com" (now "xcom") driver to avoid name collision with the more
heaviliy-used "com" driver.
1997-10-15 23:39:18 +00:00
lukem
28558b28eb rcsid fascism 1997-10-13 14:22:22 +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
oki
16bcf097c2 call arpintr() if NARP > 0. 1997-10-12 18:49:25 +00:00
oki
075543ca76 Replace trap1 and trap2 to native 4.3 process. 1997-10-12 18:25:36 +00:00
oki
e2f8a8b9cd Oops, dk_establish still need.
Backout previous commit, added prototype.
1997-10-12 18:23:18 +00:00
oki
787edcfff0 Fix compiler warnings. 1997-10-12 18:20:21 +00:00
oki
f78ab6d1cc Added 'arp' to Neptune-X ethernet interface.
Removed local if_se entry (no longer works.)
1997-10-12 18:16:43 +00:00
oki
570278ec01 Added prototypes. 1997-10-12 18:06:21 +00:00
oki
f5733259c7 Added FPU_68060 1997-10-12 18:02:32 +00:00
oki
fd9fae64cc Added prototype. 1997-10-12 14:44:12 +00:00
oki
34c4ab5da2 Prune unused function. 1997-10-12 12:15:15 +00:00
oki
9418615252 Added prototypes. 1997-10-12 12:13:48 +00:00
oki
1db0621f0e Add prototype. 1997-10-12 06:41:45 +00:00
oki
9ce308d6d6 Added header file for prototype. 1997-10-11 11:15:00 +00:00
oki
e23506ac2e Added header file. 1997-10-11 11:13:54 +00:00
mycroft
a7aef46287 Use m68k/Makefile.inc. 1997-10-11 09:11:17 +00:00
mycroft
5c8d588138 Nuke NOOBJ. 1997-10-11 08:44:42 +00:00