Commit Graph

253 Commits

Author SHA1 Message Date
minoura
d264521334 Mapped copy was always disabled. 1999-03-31 14:22:21 +00:00
minoura
2c62712a32 Remove unused files. 1999-03-30 04:29:09 +00:00
minoura
929875f387 G/c obsoleted devices. 1999-03-30 04:25:36 +00:00
minoura
d808d6f5ff defopt EXTENDED_MEMORY and ITE_KERNEL_ATTR. 1999-03-30 04:25:07 +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
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
minoura
b28f2306c9 G/c amiga's key repeat handler. 1999-03-24 14:11:47 +00:00
minoura
a76b0b1bf5 Shut up gcc -Wall. 1999-03-24 14:07:38 +00:00
minoura
ff8cf815a8 Mach VM removal. 1999-03-24 14:01:50 +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
minoura
87c8a7e347 u?vm_page_physload args are in page. 1999-03-23 15:55:43 +00:00
minoura
86ecebe5e8 Move high-memory detect routine.
This seems to fix the problem that it hangs up on 040turbo without
high-memory.
1999-03-23 04:18:50 +00:00
minoura
f0dda99d19 Remove extra ;. Extended memory could not be added correctly. 1999-03-18 12:27:07 +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
minoura
5410a9b53b Crash dump support.
It was broken for long time because of somewhat unknown reasons.
1999-03-17 16:19:46 +00:00
minoura
6de1aeaee6 MACHINE_NONCONTIG -> EXTENDED_MEMORY. 1999-03-17 12:29:56 +00:00
minoura
a6cf3ee3f8 Sync hp300's.
- Remove pmapvacflush debugging code (1.63)
- pmap_collect (1.60)
- Use pool allocator (1.59)
- pmap_zero_page, pmap_copy_page improvements (1.58)
- Use PMAP_DPRINTF (1.56)
- pmap_changebit() changes (1.54)
- Remove deprecated PMAPSTATS (1.53)
- Other cosmetic changes
1999-03-17 12:28:58 +00:00
minoura
ba80d2c6d7 Merged minoura_x68k_bus_h branch. 1999-03-16 16:30:16 +00:00
itohy
a2bbc02716 Fix parameter type mismatch. 1999-03-02 18:18:38 +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
bce0bda05c x68k specific part of fix for PR 6152 1999-02-26 16:07:07 +00:00
itohy
fbfe12046d Trivial asm-level optimizations. 1999-02-02 09:16:52 +00:00
thorpej
2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
itohy
fe5278bffc MACHINE_NEW_NONCONTIG is no longer optional
remove non-MNN code
1999-01-18 07:39:51 +00:00
thorpej
e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
itohy
33df770bf5 Avoid `void *' arithmetic. 1999-01-09 19:55:58 +00:00
itohy
c05dadc113 Added COMPAT_LINUX support. 1998-12-15 19:36:36 +00:00
minoura
e01f39790b BUFCACHE option. 1998-11-29 16:20:13 +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
itohy
d8f63f8a88 Get pmap_extract() return value with paddr_t, not vaddr_t.
Some other minor changes stolen from hp300. :)
1998-11-18 10:05:35 +00:00
oster
c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
thorpej
cabecee13c 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:43:49 +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
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
thorpej
908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +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
minoura
6b6b9e2706 Make device probe/attach sessions to be executed at splhigh.
mha driver used interrupt driven I/O.
1998-09-09 16:42:51 +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
minoura
334656f748 Cleanup _doboot, fixing the 040 reboot bug. 1998-09-07 14:14:34 +00:00
itohy
b5f246a8ca Changed algorightm to figure out boot device.
Use type of SCSI interface, target SCSI ID and LUN,
passed from the boot loader.
1998-09-01 20:08:21 +00:00
minoura
e97803df25 Typo. 1998-09-01 15:05:21 +00:00
minoura
7f4ad4748e Eliminated vm_offset_t and vm_size_t. 1998-08-22 14:38:36 +00:00
minoura
4df8f47ebc Switched to MI zs driver. 1998-08-05 16:08:33 +00:00
minoura
89f91f85fa Fixed typo. 1998-08-05 14:40:20 +00:00
minoura
b72d8d17f9 __BROKEN_INDIRECT_CONFIG fixes. 1998-08-04 16:51:51 +00:00
minoura
233cd5d60b RB_POWERDOWN is now supported.
Check if the power switch is open (off) in the shutdown_hook,
and try removing the power in cpu_reboot.
poffd default action is now shutdown -p.
1998-08-04 16:07:53 +00:00
thorpej
3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
thorpej
d47ea67c1f Define one page free list, and put all pages on it. 1998-07-08 04:43:18 +00:00
jonathan
d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +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
msaitoh
c0eed6da3d sync with -current after a long silence 1998-06-30 11:59:09 +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
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
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
kleink
aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
perry
1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +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
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
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
oki
ac86463ce3 Make compile without options MACHINE_NONCONTIG. 1997-12-24 17:48:10 +00:00
oki
3e2d17592a add support for MK-HA2 Mach-2 SCSI host adaptor. 1997-10-19 20:41:02 +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
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
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
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