Commit Graph

559 Commits

Author SHA1 Message Date
scw
fdd587c0ea Define MKNOLINT=no and _STANDALONE. 1999-04-25 10:05:00 +00:00
simonb
5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
chs
05b971dd5f in pmap_pageable(), rather than marking a PT page as not modified
to trick the pagedaemon into freeing it later, just unmap the page
and free it immediately.  fixes PR 7337.
1999-04-22 04:24:52 +00:00
kleink
ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
scw
cc712cde63 Make the memory sizing code *really* work on mvme167. 1999-04-19 19:15:50 +00:00
kleink
5e7ff129c8 Normalize path of files.sunos. 1999-04-16 11:13:38 +00:00
chs
f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
drochner
010bce1d1a add BUS_SPACE_ALIGNED_POINTER() definitions for completeness 1999-04-10 14:06:27 +00:00
scw
de18281718 Put some delays around the SCSI bus reset code. 1999-04-10 11:14:16 +00:00
scw
dd69ae65fb Sync with Jason's latest changes to hp300 pmap. 1999-04-03 13:15:16 +00:00
thorpej
967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
scw
cf2576d332 Pull in <net/if{_ether,}.h> and a few others to get ETHER_MAX_LEN. 1999-03-28 18:08:55 +00:00
scw
c9dd38b5bf UVM is no longer defined. 1999-03-27 18:35:34 +00:00
mycroft
93768384ee Fix a bug in pmap_collect_pv(), even though nobody currently uses it:
When we put a page on the collection list, we must subtract NPVPPG from the
total free count: one for each pv_entry that's free in that page, and one for
each free pv_entry in other pages that we're going to eat by moving the ones
in the page being collected.
1999-03-27 05:57:02 +00:00
mycroft
9affa543a5 Oops; forgot to change some pmap_enter() calls. 1999-03-27 03:34:08 +00:00
wrstuden
2adccc50fa Add pps support. Only enable pps if CLOCAL & !MDMBUF. 1999-03-27 01:21:36 +00:00
mycroft
12d512bbb7 Oops; vm_offset_t -> vaddr_t. 1999-03-27 00:30:06 +00:00
mycroft
9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
thorpej
587eda7c3f Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:11:51 +00:00
mrg
ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg
d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
chs
ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
sommerfe
bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
minoura
e518820ca8 Pullin m68k/ieee.h. 1999-03-15 11:55:53 +00:00
scw
5a1959a811 Push 'curproc' on the stack, not 'cachectl'. (I own Ignatios one brick :) 1999-02-28 16:49:04 +00:00
scottr
d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
is
f71d843a65 synchronize types, and s/curproc/p/ in one forgotten place 1999-02-26 22:37:57 +00:00
is
8474ed8a1e MVME68K specific part of fix for PR 6152 1999-02-26 22:16:35 +00:00
scw
4a38a5de3a Remove a comment of mine which no longer applies. 1999-02-21 18:10:10 +00:00
scw
6312ec9ab7 Move scsi_nosync declaration into ncrsc_pcctwo since I've permanently
disabled sync negotiation in the 147's SBIC driver. (I could never make
it work). Also, don't enable bus-snooping with a 68060 based board.
1999-02-21 13:59:35 +00:00
scw
dfaaa08fb4 Include the GENERIC config. file instead of VME147. 1999-02-20 17:19:41 +00:00
scw
134a854765 Add some missing targets from sys/lib/libsa. 1999-02-20 16:26:57 +00:00
scw
9a7c49a33e Add splserial(). 1999-02-20 16:24:53 +00:00
scw
f94ac542ec Forgot to commit this one; added SCSI and VME drivers. 1999-02-20 00:44:31 +00:00
scw
42058284c1 Config file with support for both '147 and '167. 1999-02-20 00:18:49 +00:00
scw
38a327cafe Add entries for SCSI and VME. While I'm here, bump maxusers to 16,
and enable a couple of other things which weren't useful in the
early days of development.
1999-02-20 00:16:38 +00:00
scw
0c1ed3ce56 Add NFS_BOOT_BOOTPARAMS option. 1999-02-20 00:13:43 +00:00
scw
4f53e52d8a Add support for the VMEchip2 and the ncr53c710 SCSI IOP.
VMEchip2 support work is ongoing. SCSI is complete.
1999-02-20 00:11:59 +00:00
scw
80a6d1c537 reboot(8) is now supported, by hitting the hard reset (RST) bit in the GCSR.
Figure out the amount of onboard RAM by looking at the MEMC040/MEMECC
configuration register. (Bank #0 only, for now).
1999-02-15 21:05:26 +00:00
scw
a72d37c4fa Merge support for mvme167 into main tree. 1999-02-14 17:54:27 +00:00
lukem
dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
mycroft
2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
kleink
f69591d12d Use of casts as lvalues is a GNU C extension; rearrange slightly. 1999-02-10 17:03:26 +00:00
mycroft
be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
scw
2cbc4abc96 Make this compile again. 1999-01-31 14:06:40 +00:00
mycroft
3e6e3322d8 Format consistency. 1999-01-24 12:56:51 +00:00
mycroft
082204fa3d Standardize format. 1999-01-22 14:12:07 +00:00
thorpej
2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
chuck
417e5339f0 MNN is no longer optional 1999-01-16 20:31:50 +00:00
thorpej
8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +00:00
thorpej
c84a74b16b Don't define "mc68020". Nothing uses it. 1999-01-15 23:21:25 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
thorpej
e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
augustss
fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
itohy
36416d8500 Added options COMPAT_LINUX and EXEC_ELF32 as comments
to GENERIC configuration files.
1998-12-15 19:50:00 +00:00
itohy
c05dadc113 Added COMPAT_LINUX support. 1998-12-15 19:36:36 +00:00
mjacob
74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
scw
6861b95582 Get rid of memset() prototype, it's not used and egcs doesn't like it. 1998-11-23 20:45:26 +00:00
scw
28b6542336 Fix misplaced comma... 1998-11-21 20:37:06 +00:00
thorpej
5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
mrg
db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
oster
c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
thorpej
49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
tron
b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
itohy
2a9addf6dc Remove unwanted reference to "_trap1" if !defined(COMPAT_13). 1998-10-18 04:42:17 +00:00
drochner
2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
chuck
8bef431273 remove unused share map code from UVM:
- update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
        has been removed)
1998-10-11 23:20:59 +00:00
scw
260d2c97a9 Make 'configure()' agree with the prototype in <sys/device.h>.
(Returns 'void').
1998-10-10 19:46:29 +00:00
thorpej
908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
thorpej
29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
thorpej
c01f29bdf1 Sigh, we are going to have to burn a vector for Just Sigreturn again,
for now, until we have a more generic {get,set}context().  Update the
comment for trap #3 accordingly.
1998-10-04 23:38:55 +00:00
thorpej
d15a64c38b Adapt to signal changes. 1998-10-01 02:53:53 +00:00
thorpej
8b220e1148 Define SYS_compat_13_sigreturn13. 1998-10-01 00:29:51 +00:00
thorpej
bcf14a99e2 Garbage collect trap #1 and trap #2 handlers; they're moved to
trap_subr.s
1998-09-30 23:47:33 +00:00
thorpej
1e62485c23 If !COMPAT_13, make trap #1 produce an illegal instruction. Fix the comment
for trap #2 to reflect that it's the trace trap.
1998-09-30 23:13:58 +00:00
thorpej
a11e6632a8 Pull in opt_compat_netbsd.h 1998-09-30 23:01:28 +00:00
thorpej
35d282c8d5 Make sure SYS_exit and SYS___sigreturn14 are defined. Garbage collect
SYS_sigreturn.
1998-09-30 22:23:13 +00:00
thorpej
38084c6615 Note that trap #1 is compat_13_sigreturn, and give trap #3 to syscalls
which require special handling, e.g. sigreturn on m68k.

This differs from the old sigreturn trap in that we require the syscall
number to be in register d0, just like the regular syscall entry point.
This will allow sigreturn to be versioned in the future without the need
to allocate another trap vector.
1998-09-30 22:14:11 +00:00
mycroft
7b15b3b56d Minor change. 1998-09-13 12:01:41 +00:00
thorpej
70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej
8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
pk
7c5210bcab Assign my copyrights to TNF. 1998-09-05 15:20:47 +00:00
lukem
c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
scw
592953d009 Fix tyop. 1998-08-22 18:11:25 +00:00
scw
a84a67440f vm_offset -> [vp]addr_t and vm_size_t -> [vp]size_t
While I'm here, expunge use of 'register' storage class.
1998-08-22 10:55:33 +00:00
scw
201603f86e Hopelessly out of date, esp. now that we follow the standard
installation procedure.
1998-08-16 15:39:58 +00:00
scw
445aefc354 Switch to using the common m68k stuff for a couple of things:
. cache control functions <m68k/cacheops.h>
 . sigreturn code <m68k/m68k/sigreturn.s>

Also a few of other things found while scouting around for vm_offset_t
changes.
1998-08-16 15:33:48 +00:00
mycroft
6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
scw
09502c9fb2 Fix -Werror compilation failure due to lack of a couple of 'const's. 1998-08-08 20:57:55 +00:00
scw
aec399e36f Changes to keep lint happy.
In particular, fix some Makefiles so the include
paths are passed to lint.
1998-08-01 11:22:51 +00:00
thorpej
3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
drochner
49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
veego
1b46ebe1d9 Add elf_machdep.h to the INCS list. 1998-07-12 17:53:29 +00:00
thorpej
639cc899cf Basic elf_machdep.h for m68k; doesn't include relocations, yet. 1998-07-12 01:17:58 +00:00
thorpej
6fa49323d7 Put VMEbus RAM on a lower priority free list, since it's much slower (because
the MVME-147 doesn't cache access to any VMEbus space).
1998-07-08 04:40:28 +00:00
jonathan
011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan
5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan
8db0fcdbf7 defopt CCITT. 1998-07-05 02:12:22 +00:00
jonathan
3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan
466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
lukem
bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
thorpej
37b378d836 defopt COMPAT_HPUX 1998-06-25 23:56:39 +00:00
thorpej
8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej
971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
cgd
87dc093422 replace ${MACHINE} with mvme68k, so that these Makefiles can safely
be run when MACHINE != mvme68k.
1998-06-12 23:11:45 +00:00
scw
cee1e443db Use DEV_BSIZE in place of MAXBSIZE for the static 'iobuf' in devopen().
Use of the latter caused the 1st and 2nd stage boot loaders to occupy
over 64k of memory. This caused them to fail on a 4Mb mvme147 since
they are loaded at 0x3f0000.
Reported by Kristen A. McIntyre and Maxime Kurkdjian.
1998-06-11 19:04:57 +00:00
tv
00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
thorpej
9ef6fa7387 Build pmap_boostrap.o without profiling; we can't call mcount before the
mmu is enabled!
1998-05-31 23:28:07 +00:00
thorpej
a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
is
7a0f63f982 Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
1998-05-24 19:32:34 +00:00
is
6a6812fd92 Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
1998-05-23 20:51:06 +00:00
thorpej
6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
scw
cd18732d2f Move 'pseudo-device md' from VME147 to RAMDISK, where it belongs.
For some reason, 'pseudo-device vnd' was missing from VME147; added.
1998-05-08 21:37:29 +00:00
kleink
aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
thorpej
0a358dfd77 options UVM no longer needed; it's now standard 1998-05-04 05:01:11 +00:00
thorpej
fcb3331f98 Switch to UVM. 1998-05-04 05:00:12 +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
is
ddc5b81d4f 68060 has 8k + 8k caches. 1998-03-18 22:19:40 +00:00
bouyer
9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
thorpej
63dfa5e1a1 Minor cosmetic cleanup; no functional change. 1998-03-18 07:18:50 +00:00
thorpej
86d534a7d9 - Make MACHINE_NEW_NONCONTIG non-optional.
- Maintain two copies of the number and size of physical memory segments.
  One copy, mem_clusters[], contains _all_ of physical RAM, for crash dumps.
  The other copy, phys_seg_list[], starts out with all of physical RAM (and
  is used to initialize mem_clusters[]), but is adjusted to be the memory
  actually managed by the VM system.
- Fix computation of physmem; when support for MACHINE_NEW_NONCONTIG was
  added, physmem was accidentally changed to not take into account the memory
  located before the kernel, or the memory taken up by the kernel itself.
1998-03-18 07:16:10 +00:00
thorpej
02fa4134dc - Make MACHINE_NEW_NONCONTIG non-optional.
- G/C some things left over from the old noncontig code.
1998-03-18 07:12:49 +00:00
thorpej
c718c9e278 - Make MACHINE_NEW_NONCONTIG non-optional.
- Make initialization of the message buffer a little less magic-looking.
- Maintain two copies of the number and size of physical memory segments.
  One copy, mem_clusters[], contains _all_ of physical RAM, for crash dumps.
  The other copy, phys_seg_list[], starts out with all of physical RAM (and
  is used to initialize mem_clusters[]), but is adjusted to be the memory
  actually managed by the VM system.
- Fix crash dumps with regard to multiple memory segments.
1998-03-18 07:11:22 +00:00
thorpej
c0cfbf8d7d Make MACHINE_NEW_NONCONTIG non-optional. 1998-03-18 07:07:11 +00:00
cgd
9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
perry
1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
chuck
e308ffd825 compute st_map size properly 1998-02-24 19:01:59 +00:00
thorpej
7027d87a18 Duh! Use uvm_km_valloc_wait(), NOT uvm_km_zalloc() to allocate user page
tables.  (Thanks for pointing that out, Chuck!)
1998-02-24 07:42:05 +00:00
scw
d38d12d85a Whoops, cgd's pmap_map change got lost! Put it back. 1998-02-21 19:22:00 +00:00
scw
0e88177c0b Implement changes for MACHINE_NEW_NONCONTIG and UVM. 1998-02-21 19:03:25 +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
thorpej
54aa7dfae0 Correct a think'o I made some time ago, and note that the dump routines
here are broken if VME memory cards exist in the system.
1998-02-08 09:33:14 +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
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