Commit Graph

35669 Commits

Author SHA1 Message Date
thorpej
4044eccd3f Don't use vm_pmap; use vm_map.pmap instead. 1998-01-06 08:13:08 +00:00
thorpej
c2768af3d4 Garbage-collect cpu_set_init_frame(); it hasn't been needed for some time
now.
1998-01-06 08:06:45 +00:00
thorpej
07f835de1f Garbage-collect PMAP_ACTIVATE() call here; it's no longer necessary. 1998-01-06 07:49:36 +00:00
thorpej
3e7eb6c80a Garbage-collect pm_pdchanged; it's not used by anything. 1998-01-06 07:16:06 +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
ab9b250a37 The user segment table pointer is no longer kept here. Change it to
a spare field.

XXX Should be changed to use generic m68k PCB!
1998-01-06 06:47:04 +00:00
thorpej
8cbc5caabb The user segment table pointer is no longer kept here. Change it to
a spare field.
1998-01-06 06:46:05 +00:00
perry
198f98faf0 $Id: -> Id: (to make hunting down other bad Ids easier). 1998-01-06 05:01:16 +00:00
perry
8a98e23a48 RCSID Police. 1998-01-06 04:55:52 +00:00
perry
2ec6474b31 RCSID Police. 1998-01-06 04:44:59 +00:00
jtk
fe87ac4104 fix for changes in bioscall structure and include files 1998-01-06 00:35:42 +00:00
perry
fbdb247796 RCSID Police. 1998-01-05 23:54:03 +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
cgd
10cc9f3b70 RCS Id police 1998-01-05 22:00:34 +00:00
cgd
cb1cb72951 bsd.prog.mk isn't needed here, and including it only gets us an
unnecessary obj dir.
1998-01-05 21:56:31 +00:00
perry
3625dbcd48 RCSID Police. 1998-01-05 21:34:56 +00:00
perry
5646f55116 make script insert RCS ids into generated files 1998-01-05 21:28:21 +00:00
perry
086015d681 RCSID Police. 1998-01-05 21:13:51 +00:00
perry
e464358f5f make script insert RCS ids into generated files 1998-01-05 21:12:34 +00:00
perry
49ad493e50 RCSID Police. 1998-01-05 21:11:15 +00:00
perry
489c2f7e06 make script insert RCS ids into generated files 1998-01-05 21:10:18 +00:00
perry
b46484bb8a RCSID Police. 1998-01-05 20:51:25 +00:00
perry
24920eefb1 RCSID Police. 1998-01-05 19:40:40 +00:00
perry
736c62507d regened with RCSIDs in place 1998-01-05 19:38:41 +00:00
perry
e6fe83471e make script insert RCS ids into generated files 1998-01-05 19:37:08 +00:00
perry
5e35a0595e regened with RCSIDs in place 1998-01-05 19:30:30 +00:00
perry
5e96ab4c0a make script insert RCS ids into generated files 1998-01-05 19:28:16 +00:00
perry
c915c7718d regened with RCSIDs in place 1998-01-05 19:25:06 +00:00
perry
127f6582ff make script insert RCS ids into generated files 1998-01-05 19:24:28 +00:00
perry
1a80fd799d RCSID Police. 1998-01-05 19:19:41 +00:00
perry
3a47434df3 regened with RCSIDs in place 1998-01-05 19:14:39 +00:00
perry
02e9346e57 fix RCS ids insertion so it really works 1998-01-05 19:13:04 +00:00
perry
9b0894473d make script insert RCS ids into generated files 1998-01-05 18:45:02 +00:00
perry
36bd5a5407 regened with RCSIDs in place 1998-01-05 18:23:00 +00:00
perry
8309b37a61 ugh. escape rcs tags so that the script doesn't get messed up. 1998-01-05 18:19:35 +00:00
perry
4dc846816b put RCS ids in the output files. Not essential, but useful. 1998-01-05 18:09:44 +00:00
perry
a69b5af889 regened with RCSID 1998-01-05 18:06:27 +00:00
perry
3c47900572 RCSID Police. 1998-01-05 17:51:27 +00:00
thorpej
e5e283e02d Finishing merging 4.4BSD-Lite2 netinet. At this point, the only changes
left were SCCS IDs and Copyright dates.
1998-01-05 10:31:44 +00:00
lukem
028802f851 document net.inet.ip.anonport{min,max} 1998-01-05 09:59:03 +00:00
lukem
1f8f74b669 enhance ephemeral port allocation code:
* support sysctl net.inet.ip.anonportmin (lowest ephemeral port)
  and net.inet.ip.anonportmax (highest ephemeral port).
  these can't be set to >65535, < IPPORT_RESERVED (unless IPNOPRIVPORTS
  is defined), and anonportmin has to be < anonportmax.
* use a cleaner way of only cycling through the available set once;
  this will be useful for when a random allocation scheme is used
* define IPPORT_ANON{MIN,MAX} instead of IPPORT_USER{LOW,HIGH}
1998-01-05 09:52:02 +00:00
lukem
1b0e96ce8f regenerate 1998-01-05 09:26:17 +00:00
thorpej
c64c0879cb Actually document that SO_LINGER's linger time is measured in seconds. 1998-01-05 09:18:41 +00:00
thorpej
2e85747e9e From 4.4BSD-Lite2 (noted by Frank van der Linden):
so_linger is used as an argument to tsleep(), so was stuffed with
clockticks for the TCP linger time.  However, so_linger is set directly from
l_linger if the linger time is specified, and l_linger is seconds (although
this is not currently documented anywhere).  Fix this to set the TCP
linger time in seconds, and multiply so_linger by hz when tsleep() is
called to actually perform the linger.
1998-01-05 09:12:29 +00:00
perry
93db5caa95 RCSID Police. 1998-01-05 07:41:06 +00:00
perry
fff05a68ab RCSID Police. 1998-01-05 07:31:05 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
perry
3e0fad1868 RCSID Police. 1998-01-05 06:28:44 +00:00
thorpej
dcbd40b724 Document new queue access methods. 1998-01-05 06:28:04 +00:00