Commit Graph

13689 Commits

Author SHA1 Message Date
mrg
7069ab9961 don't call fb_unblank if NFB < 0 1998-01-08 10:56:36 +00:00
mrg
002fbe8721 do not use fb_unblank unless NFB > 0 1998-01-08 01:13:58 +00:00
thorpej
db8d7d755a Regen: Back out RCS ID related changes. 1998-01-08 01:05:10 +00:00
thorpej
af0fb8a65a Back out RCS ID related changes. 1998-01-08 01:04:44 +00:00
thorpej
c4a3ed1697 Regen: Back out RCS ID related changes. 1998-01-08 01:02:05 +00:00
thorpej
ddb3a0e478 Back out RCS ID related changes. 1998-01-08 01:01:27 +00:00
is
5d5c1cd59e - avoid system stack underflow when calling sigreturn via trap #0
- make sure all sigreturn error conditions are reported to the caller,
  instead of the place jumped to.
This is the bugfix part of pr 4628 by ITOH Yasufumi.
The performance optimization part will be handled seperately, after evaluating
its implications.
Testing on 68040 and removing the performance change from the proposed patch
by scottr. Half of the Amiga machdep.c change had to be done manually by me,
as the patchfile didn't apply cleanly.
XXX Yes, Amiga should be changed to use the common sig_machdep.c instead.
XXX Really soon now. I promise.
1998-01-07 22:46:00 +00:00
scottr
4567c69fea Update from John Wittkoski: the Color Classic and Color Classic II
have Cuda hardware, not IIsi-based.
1998-01-07 07:33:36 +00:00
is
d002f566b3 Support 68060 (and, for the Amiga, even 68040 buserr frames) in the sendsig()
and, indirectly, sigreturn() functions.
XXX The Amiga should be switched to using sig_machdep.c instead.
1998-01-06 20:50:22 +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
0e5cf40b1f Always include pmap_pinit(), since it is a defined pmap interface
function (thought, we might revisit that later).  Just call pmap_pinit()
in pmap_create(), instead of inlining what pmap_pinit() does.

Also, g/c a TAILQ_FIRST() macro that is now defined in <sys/queue.h>
1998-01-06 08:27:05 +00:00
thorpej
a26db50632 Don't need __VM_PMAP_HACK anymore. 1998-01-06 08:14:14 +00:00
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
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
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
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
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
perry
3e0fad1868 RCSID Police. 1998-01-05 06:28:44 +00:00
perry
e13ab577cd RCSID Police. 1998-01-05 05:05:49 +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
b73f9750f6 Don't allocate PTEs in cpu_fork(); they were allocated when the new
process's pmap was created.  Instead, use pmap_activate() to load the
page {0,1} base and length registers into the PCB for the hardware's use.
1998-01-03 00:37:31 +00:00
thorpej
aa58d4ac6b Adjust for the fact that the page {0,1} base and length registers are now
stored in the pmap structure.
1998-01-03 00:35:28 +00:00
thorpej
f267fe868d - Adjust so that access to the PCB is not required in most pmap functions.
Store the page {0,1} base and length registers in the pmap structure,
  and implement pmap_activate(), which stores them in the PCB (for the
  hardware's use).
- Re-implement pmap_pinit(); allocate the PTEs here, not in cpu_fork().
1998-01-03 00:34:02 +00:00
thorpej
172a9381b6 - Remove the PCB pointer from the pmap structure. Instead, store the
page {0,1} base and length registers in the pmap structure.  They will
  be loaded in to the PCB when the process's address space is activated
  by way of pmap_activate().
- Remove pmap_pinit() macro; it's now a real function.
- Prototypes for pmap_pinit(), pmap_activate(), pmap_deactivate().
1998-01-03 00:28:43 +00:00
thorpej
d8076f896b Grab the PCB directly from the u-area, not by indirecting through VM
structures.
1998-01-03 00:23:53 +00:00
thorpej
9ca174a51d Implement pmap_activate(). 1998-01-02 22:57:56 +00:00
thorpej
a6f228e498 Make pmap_activate() take a struct proc *. 1998-01-02 22:36:33 +00:00
thorpej
c162e92a71 Implement pmap_activate(). 1998-01-02 22:17:18 +00:00
thorpej
f39e44955b Make pmap_activate() take a proc *. 1998-01-02 20:37:28 +00:00
thorpej
d14e18faa9 Make pmap_activate() take a proc *. 1998-01-02 20:10:26 +00:00
ragge
5680284286 Fix problem in copy*str() when not emulating locc. 1998-01-02 19:33:27 +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
mikel
733dae35bc use ${SIZE} instead of "size" (somehow this one got missed) 1998-01-01 08:11:41 +00:00
thorpej
8b5e0b6e06 Remove a couple of unneeded VM-related headers. 1997-12-31 19:32:55 +00:00
cjs
89951259ed Add kernfs; remove more stuff we don't need. 1997-12-31 16:44:37 +00:00
thorpej
9c20093835 Make pmap_activate() and pmap_deactivate() take a struct proc *. 1997-12-31 10:12:55 +00:00
scottr
fa1347ed5b Prompt for total sectors, and calculate sane defaults for sectors per
cylinder and total sectors.
1997-12-29 07:15:10 +00:00
scottr
89b10b928f Do better reporting of transmit errors. 1997-12-26 22:37:05 +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
tv
89e7595756 Exclude /dev/fb code if no framebuffer is compiled into the system.
Adds a fb.h flag file with '#define NFB 1' if any such card is configured
in to the kernel.
1997-12-23 23:57:20 +00:00
thorpej
ff7a4d0472 Add COMPAT_13. 1997-12-22 05:31:23 +00:00
jonathan
3550b22654 Commit patch for PMAG-A (mfb) pixel inversion accientally left out of 1.3.
See PR# port-pmax/4724.
1997-12-22 02:39:28 +00:00
hpeyerl
6563f769af update for correct SPU type and COMPAT_13. 1997-12-21 17:15:01 +00:00
perry
589a5e2c79 patch from is -- I don't know what it does, but he says it's critical. 1997-12-20 21:13:13 +00:00
pk
bf8e38df4f Establish the interrupt handlers on sun4 `oclocks'; pointed out
by Chuck Cranor.
1997-12-19 22:53:10 +00:00
scottr
6a7a3fb133 spurintr() is a low-level interrupt handler, and must not
be called by C code!  Spotted by Bill Studenmund, who also provided
#the substance of this change.
1997-12-19 05:38:00 +00:00
pk
964a147839 Clean vers.c & vers.o. 1997-12-18 21:03:58 +00:00
mycroft
61475326e0 Add delays for lame keyboard controllers, as in the keyboard driver. Do a
better job of flushing input in various cases.
1997-12-18 16:49:10 +00:00
sakamoto
73a2fb9659 support simple stack trace. 1997-12-18 09:09:01 +00:00
sakamoto
e2f98dba9e remove avail_end temporarily for compile. 1997-12-18 09:08:35 +00:00
sakamoto
15dd19ea29 use pmap.c of port-powerpc.
mem_regions support.
1997-12-18 09:07:58 +00:00
scottr
e43a4bda4a Update for the NWO 1997-12-18 06:45:30 +00:00
scottr
0b62536fdf Make these more closely resemble the old configurations. 1997-12-18 06:44:15 +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
jeremy
070bd37c1b Pad out table manager structures so that all the members in the contiguous
table manager array allocated in pmap_startup() are properly aligned for
faster bus access.
1997-12-17 16:20:33 +00:00
mjacob
feb6e077d4 do not incread vm_kmem_size that radically for 1GB or better machines 1997-12-16 21:59:41 +00:00
scottr
24d2f8120e Don't enable interrupts unless we are using reselect or interrupt-
driven PDMA modes.
1997-12-16 19:44:19 +00:00
wrstuden
5a67b7c680 Add initialization code for cs_wr5_dtr as the M.I. layer now tests
it in initializing during autoconfig. Similar to sys/arch/sun3/dev/zs.c
revision 1.47. Ought to fix hangs at first tty access reported by
Johnny Lam, <jlbg+@andrew.cmu.edu>.
1997-12-16 17:53:12 +00:00
scottr
cebc1537c1 Update to match std.mac68k changes. 1997-12-16 17:22:53 +00:00
mikel
718221a852 fix format string in FD_DEBUG printf(); from Eric Haszlakiewicz in PR 4692 1997-12-16 07:35:45 +00:00
thorpej
a5252fc287 Fill out more file system information, from Havard Eidnes, and hacked a bit
by me.
1997-12-15 23:17:19 +00:00
leo
4702594559 Correct size of brwrite():trbuf[] (Mellon). 1997-12-15 09:21:04 +00:00
sakamoto
c594d764bc support IDE hard disk controllers (wdc) and drives (wd)
put wdc.c into bebox/isa directory temporarily
1997-12-15 08:00:22 +00:00
gwr
be7fd676e5 Sync with GENERIC 1997-12-13 00:26:08 +00:00
gwr
ebbce0eb18 Need MEMORY_DISK_IS_ROOT now also.
Sync with GENERIC
1997-12-13 00:25:15 +00:00
gwr
4f0a44847d Move Sun3/E stuff 1997-12-13 00:23:45 +00:00
gwr
6be94f263f obsolete 1997-12-13 00:21:01 +00:00
sakamoto
caa702438d add bus_space_{read,write}_multi_N macros
some fix.
1997-12-12 03:08:28 +00:00
sakamoto
4a0b2d1b52 fix wrong variable declaration 1997-12-11 09:31:00 +00:00
sakamoto
cddd6a97bc add ins/outs macros 1997-12-11 09:23:54 +00:00
sakamoto
8bdb67652b change order of interrupt description bit 1997-12-11 09:04:23 +00:00
pk
9e087acb89 Code for software-assisted DDB single-stepping from Chuck Silvers. 1997-12-10 23:12:13 +00:00
matthias
f0faff5a2f sync with /sys/arch/i386/i386/md_root.c. 1997-12-10 21:56:30 +00:00
matthias
071a27d737 add MEMORY_DISK_IS_ROOT to use the memory disk and not the boot device
as the rootdevice.
1997-12-10 21:51:14 +00:00
drochner
fbe83dc02d Install "pcvt_ioctl.h" by normal "make includes". 1997-12-10 14:14:21 +00:00
leo
18d2ccf637 Add '-H' option for writing High density floppies. 1997-12-10 09:32:35 +00:00
sakamoto
b60acd2843 fix to get the right irq 1997-12-09 23:33:17 +00:00
gwr
e0170ea83c Remove local definition of DEBUG (left there by accident). 1997-12-09 22:29:01 +00:00
gwr
1e1b53cba9 The ie_reset function needs to turn off loopback mode.
(Remember the TDR complaint: short X clocks away?
that was because the chip was in looback mode! 8)
1997-12-09 22:25:42 +00:00