Commit Graph

13847 Commits

Author SHA1 Message Date
thorpej 5170264d4e Gather pv_table and pmap_attributes things togther, and macro'ize
access to them a little better.

Also, improve the performance of pmap_is_{referenced,modified}() and
pmap_clear_{reference,modify}() somewhat.
1998-01-09 06:54:17 +00:00
thorpej 14807c2914 Use avail_start/avail_end. 1998-01-09 06:37:04 +00:00
thorpej f9b6954f55 Call vm_set_page_size() after initializing PAGE_SIZE. 1998-01-09 06:35:17 +00:00
mrg aa39c43bc9 call vm_set_page_size(). 1998-01-09 04:37:56 +00:00
thorpej 85d56961e5 Update a comment relative to the vm_bootstrap_steal_memory() change, and
don't include pmap_free_pages() or pmap_next_page() in the new non-contig
case.
1998-01-08 23:48:16 +00:00
thorpej 4cb36c3346 Update a comment to reflect the vm_bootstrap_steal_memory() change, and
while I'm here, note which two functions will no longer exist when
new non-contig code is done for this pmap.
1998-01-08 23:47:07 +00:00
mrg c599e7d439 add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.


this is the sparc portion.
1998-01-08 11:39:30 +00:00
mrg 0876a69653 some KNF. 1998-01-08 11:03:13 +00:00
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
tv a7d1d15c39 KMEMSTATS is documented in options(4) as being a possible severe
performance hit, and on an 80386 processor, it most certainly is.  Pull it
from the GENERIC (and DISKLESS "generic") kernels--configure it in
yourself if you actually need it.
1997-12-09 13:32:32 +00:00
gwr 2e40be26b8 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-08 21:49:50 +00:00
gwr ec9abe23be Several fixes. This version actually works! 1997-12-08 19:22:52 +00:00
gwr 1a340a5921 Fix missing newline in attach 1997-12-08 19:19:25 +00:00
gwr c497f2ca2b Define the interrupt vector registers as 16-bit fields as
shown in the documentation.  (Thanks to Michael Thompson)
1997-12-08 19:17:12 +00:00
thorpej b27ebeeac1 Work-around the situation where the buffer cache is larger than
16M, thus eating up all candidate bounce pages, which are not allocated
until autoconfiguration runs, by deferring allocation of the buffer
cache pages until after autoconfiguration has run.

XXX This is safe because the i386 port doesn't read any disklabels
XXX during autoconfiguration.
1997-12-08 05:07:29 +00:00
fvdl be205fedc0 Define constants for the start and end VA of user page tables. 1997-12-07 21:30:11 +00:00
fvdl 4357e617d2 When getting a pagefault for a PT page, wire it. Normally we fault them in
ourselves, but this can still happen on a 386 in copyout & friends.

Fixes pmap_changebit panics seen on 386s. Thanks to Juergen Hannken-Illjes
for providing detailed info on bug occurances.
1997-12-07 21:28:56 +00:00
scottr 39aac67f16 Fix prototypes so that we can compile without DDB. Closes
PR 4633.
1997-12-07 17:47:47 +00:00
thorpej d25c266af2 Use malloc()/free() for the temporary buffer, not geteblk()/brelse(). 1997-12-07 16:06:21 +00:00
thorpej 6e39ad36a6 In pccngetc(), don't treat cn_tab->cn_dev as a valid device number until
it's initialized.
1997-12-07 06:20:44 +00:00
scw ea4e9ca4f6 Doh! 'avail_end' is a physical offset, not a page number! 1997-12-06 20:29:59 +00:00
scottr ee70fa750a Shades of rev 1.13: Really, we shouldn't call Debugger() if we
haven't got ddb in the kernel.  Fixes PR 4632.
1997-12-06 19:41:46 +00:00
mhitch cc997082a5 Someone forgot to update db_tlbdump_cmd() when adding the printf routine
to the TLB dump routines arguements.  Machines would die horibbly when
trying to dump the TLB entries in DDB.  Also don't explicitly "page" the
output, since db_printf takes care of that.
1997-12-06 19:19:07 +00:00
scottr 73a00edbd6 PR 4078: Enabling the SCSI IRQ interrupt to allow reselects to work
causes the MI interrupt handler to barf when we get a 5380 RST interrupt
while probing.  Worse, the VIA latches the interrupt, so simply having
all interrupts disabled during autoconfig doesn't resolve the problem.
[I demonstrated the latter on a IIci, which erroneously reports a
reselection attempt(!) after autoconfig is complete.  The latched
interrupt results from the SCSI bus reset we do when initializing the
bus.]

Since interrupts must be enabled during autoconfig anyway (sigh), test
to see if autoconfig has completed in sbc_irq_intr().  If not, we don't
pass the interrupt up to the MI interrupt handler.  Also, make sure to
clear the VIA interrupt if we're servicing an unclaimed 5380 RST
interrupt.

Thanks to Bill Studenmund for providing the key insight needed to unlock
this problem.
1997-12-06 18:53:30 +00:00
chuck d76941843e fix mixer code that was clearly untested:
- allow get/set of enums SUNAUDIO_SOURCE and SUNAUDIO_OUTPUT rather
	than returning EINVAL
 - add missing SUNAUDIO_MONITOR_CLASS case in query_devinfo
 - convert SUNAUDIO_MONITOR case from a MIXER_CLASS to a MIXER_VALUE
	like it is supposed to be
 - the labels for outputs/record class were swapped: fix it

this patch allows "mixerctl" to work properly on a sparc
1997-12-06 03:20:56 +00:00
tv 0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
leo 9d09eab68e Preserve the bootflags in the processor-type test (== make the loader
work again for the TT030).
1997-12-04 07:39:05 +00:00
mjacob 40ef7dd007 handle case of no keyboard configured 1997-12-03 22:32:05 +00:00
briggs 16b71d1871 Thanks to Paul Goyette <paul@whooppee.com> for a patch to clear the
interrupt properly on a SuperMac Spectrum/8 Series III, and thanks
to Dan McMahill for loaning the card to Paul.
I modified Paul's patch somewhat to change grfmv_intr_generic_{1,4}
to grfmv_intr_generic_write{1,4} and added grfmv_intr_generic_or4 to
handle this card.
1997-12-03 03:05:02 +00:00
gwr d4ff9e0143 Remove the broken trap recursion check (#if DEBUG) 1997-12-02 23:41:30 +00:00
gwr b3701f21ea Kill some noise from -DDEBUG 1997-12-02 20:42:13 +00:00
gwr 7c95ede823 Kill some noise from -DDEBUG 1997-12-02 19:48:45 +00:00
sakamoto 52596506c7 Add NetBSD RCS Ids. Remove #if 0-#endif. 1997-12-02 01:20:30 +00:00
kleink bb7bb0093d Add COMPAT_13. 1997-12-01 16:33:39 +00:00
kleink eefde8bdcd Add COMPAT_13. 1997-12-01 16:31:29 +00:00
kleink 28e0cf0693 Add COMPAT_13. 1997-12-01 16:02:09 +00:00
kleink c87631771e Add COMPAT_13. 1997-12-01 14:52:51 +00:00
sakamoto e9be44bb8d add bus_space_subregion macro. 1997-12-01 07:11:34 +00:00
sakamoto 80f65cc8ed use dev/isa/isa.c instead of bebox/isa/isa.c 1997-12-01 07:10:14 +00:00
sakamoto 38d8db93cf cleanup disused extern declaration. 1997-12-01 07:01:52 +00:00
scottr 4be1bd1115 Correct a comment from previous commit. 1997-12-01 06:07:33 +00:00
scottr 355a8bbccd We don't do old-style miniroots anymore. 1997-12-01 05:51:51 +00:00
scottr fe3d2d5633 Make grfdebug a patchable variable, and default to no debugging messages.
Noticed by Hauke Fath.
1997-12-01 05:40:39 +00:00
mjacob b52361ff54 add missing COMPAT_13 that kleink putzed 1997-11-30 23:18:59 +00:00
briggs 343e078b95 Add extra FWB driver partition and Apple ATA driver partitions to the list
of partition type that we recognise and skip when filling the fake
disklabel.
1997-11-30 04:46:59 +00:00
briggs 8e1428e600 Support for the Lapis ProColorServer 8 PDS on the SE/30. This prevents
hangs when trying to use this video card in conjunction with an ethernet
card.  Thanks to David Condon <david@apk.net> for information and testing.
1997-11-30 01:02:44 +00:00
jonathan 4d03a7d4d0 Fix typo in bus_space_barrier definition. See PR 4488. 1997-11-28 00:33:53 +00:00
mhitch c9d1ca0df4 delay() is using calculated timing, so correct the delay during polled
SCSI wait to get a more accurate timeout.
1997-11-27 22:43:44 +00:00
bouyer d45f82208d Add a cpu_setup() function to "struct cpu_nocpuid_nameclass" and
"struct cpu_cpuid_family", so that we can have a cpu_setup function per
known cpu type. For now use it only for cyrix 6x86 to enable suspend-on-halt
and implement cyrix's workaround to the "coma bug".
1997-11-27 11:53:45 +00:00
sakamoto 972dc0b4d6 remove/import software interrupt model and external interrupt handler
from OpenBSD/powerpc.
move bus_space_* from bus_machdep.c to bus.h.
1997-11-27 10:17:45 +00:00
fvdl b3de97c5c1 Revert I486_PCI_MEM_ENABLED change; it caused too many problems. 1997-11-27 10:10:50 +00:00
fvdl 4ee07a6d65 Revert I486_PCI_MEM_ENABLED change, it caused too many problems. 1997-11-27 09:58:26 +00:00
sakamoto 771073b8ce keep compile dir. 1997-11-27 09:48:18 +00:00
mjacob e908c01f7e If not defining SUN4M, you still have to do something with has_iocache. 1997-11-26 22:11:53 +00:00
matthias d4150bfec4 Do not include vm/lock.h. It does no longer exist. 1997-11-26 21:26:44 +00:00
scottr 9cc64880e9 Major reorganization, based largely on the i386 GENERIC. This moves all
bus and device configuration out of std.mac68k, as well.
1997-11-26 07:23:20 +00:00
scottr 805d1043a6 Don't attempt to open the ADB device if it hasn't been initialized.
Also, don't allow more than one instance to be configured.
1997-11-26 06:28:50 +00:00
briggs 2241e4220c Only scan MAXPARTITIONS entries for a free partition table entry. 1997-11-26 04:18:20 +00:00
briggs 62ebaeb91b Ignore FWB Component and Apple_Driver_ATA partition types, too. 1997-11-26 04:14:07 +00:00
mjacob 549ecbd70a make SCSIVERBOSE default 1997-11-26 03:13:53 +00:00
mjacob 61f3754047 add SYSVMSG and SYSVSEM to GENERIC kernel 1997-11-26 03:13:12 +00:00
gwr 6c7f015fc8 The calculation of dumpsize was incorrect. It is the size of
the raw memory part of the dump (not including the headers).
1997-11-25 22:38:41 +00:00
scottr 952c244eab In iteoff()/iteon(), don't try to do anything if we haven't
initialized the ite.
1997-11-25 20:56:13 +00:00
kleink e85ad99e57 Add COMPAT_13. 1997-11-25 20:29:24 +00:00
scottr 387294d4a5 Fix dependency generation for assembler files; closes PR 4476,
but differently since the suggested change breaks cross compiling.
1997-11-25 18:33:19 +00:00
briggs 2412580d6a Forgot a declaration in last change to esp.c. 1997-11-25 03:54:56 +00:00
gwr 2e64ccdb0b Remove some outdated comments, fix others. 1997-11-24 22:09:58 +00:00
gwr a8291dea54 Kill unnecessary arguments to pmap_enter_*
Do pa=PG_PA(pte) in pv_link/pv_unlink so it
does not need to happen in as many places.
1997-11-24 21:38:31 +00:00
is a90ace971a Workaround for the "xanim volume setting problem":
We play mono samples on all 4 channels.
However, we get the volume settings for mono samples as a symmetic two-channel
setting... the other two channels used to stay at max volume...
I believe that something else is wrong here, but dont want to change MI
code (which in turn influences a couple of MD driver) thus late in the release
cycle.
1997-11-24 21:00:50 +00:00
gwr 42526b0e75 On the 3/50 it is avail_start that must be less than hole_start,
not avail_end.  Identified by Greg Oster <oster@cs.usask.ca>
1997-11-24 17:58:20 +00:00
phil 5050531ac6 Do transfers with interrupts off. 1997-11-24 12:35:20 +00:00
thorpej 2524b071e8 Add commented-out "I486_PCI_MEM_ENABLED" option, and describe it. 1997-11-24 00:21:48 +00:00
thorpej b6e3c093d8 defopt I486_PCI_MEM_ENABLED 1997-11-24 00:21:01 +00:00
thorpej 46c5ad921d Add a workaround for buggy i486 PCI chipsets that have trouble with
memory-mapped device access (manifested by an apparent wedging of the
PCI bus):
- If cpu_class == CPUCLASS_486, disable memory-mapped PCI device access,
  leaving only i/o-mapped access enabled.
- Provide a patchable kernel variable (i486_pci_mem_enabled) and a kernel
  option (I486_PCI_MEM_ENABLED) to re-enable it.
1997-11-24 00:20:32 +00:00
thorpej 978a8b60db Add SCSIVERBOSE 1997-11-23 23:40:45 +00:00
veego 0fe37675f7 Ups, forget a 'i'. 1997-11-23 23:26:03 +00:00
kleink 66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
mhitch 1863572e04 Add a check for the DO key to enter ddb on the Personal DECstations. 1997-11-23 18:20:11 +00:00
pk 4759b4c5ff Re-do the `busdma' interface. 1997-11-23 16:31:28 +00:00
tv 426330f919 eliminate declarations of global data in <sparc/cpu.h> and declare in
source files, reducing global symblol replication in .o kernel files
1997-11-22 03:13:56 +00:00
gwr ae473044c7 Strengthen DIAGNOSTIC checks in pmap_enter_*
Further simplify protection converter (gone).
1997-11-21 22:13:20 +00:00
mhitch 4f4912d825 If DDB is defined, and RBUF_FERR occurs on a serial console port, enter ddb.
Fixes PR 4173.
1997-11-21 17:26:29 +00:00
gwr b0e8edf692 Minor simplifications. 1997-11-21 17:14:07 +00:00
fair 315f8de9c2 add pseudo-device rnd, commented out 1997-11-20 08:11:14 +00:00
mikel 37d9430628 add ID for (brain-damaged) GUS PnP, and add comments describing what
hardware each ID describes.
1997-11-20 06:23:52 +00:00
pk cbf2f164ad The pgtalloc() stuff is still not doing the right thing on non-MXCC
vikings... i don't know why.  Install a work-around in setpgt4m(),
that is still lying about here.
1997-11-19 23:19:13 +00:00
pk b9746b3d00 splpmap() is again equivalent to splimp(). 1997-11-19 23:05:49 +00:00
pk 62f73256ff Use intr_establish() to install the timer interrupt handlers. 1997-11-19 23:03:47 +00:00
pk de106f6489 1. Implement a trick from Chris Torek: if an unhandled interrupt occurs
during auto-configuration (`cold'), raise interrupt level to splhigh
   and return, instead of reporting a stray interrupt.

2. In cpu_switch(), start running a newly selected proces at splclock()
   instead of the saved IPL, allowing high-priority interrupts in
   ctx_alloc() which can take many cycles to install a new context
   (especially on the two-level sun4c MMU).
1997-11-19 22:59:05 +00:00
gwr f0047e072f Better definition of PA_IS_DEV, and use it two more places. 1997-11-19 19:28:10 +00:00
mjacob 261191603a copyright foo 1997-11-19 15:35:36 +00:00
briggs 1adbb93466 * Disable parity checking on all devices until we find a better way to
deal with cheap CD-ROMs and other devices that do not appear to have
  any way to enable parity generation.  In the future, it might be nice
  to have this configurable on a per-device basis with back-to-back
  parity errors automatically disabling parity for the device.  That
  would require some MI changes.
* Handle unaligned and odd-length transfers.
  This could probably be handled better in the future.
1997-11-19 13:01:32 +00:00
mycroft 0afda495f5 Do the Pentium bug fix differently. Put the IDT in a read-only page and check
for a write fault on the illegal instruction descriptor.  Don't ask why this
works unless you have a strong stomach.
1997-11-19 11:11:22 +00:00
scottr 2311eecbad Fix emulation, mostly from Dave Huang in PR 4482 (one tweak by me for CUU/CUD, and
one from him to correct a fencepost error in {reset,clear}_tabs()).
1997-11-19 07:00:03 +00:00
gwr 5ea276f19a Correct handling of "physical address" values given to us by the
VM code, which may have low bits specifying device space!
1997-11-19 00:19:10 +00:00
mhitch 44c123573b Define PC_ADVANCE() to advance the PC around the break instruction only
if the break instruction is still there.  This works around a problem with
the software single step in DDB not recognizing the temporary breakpoint
set to emulate the single step.
1997-11-18 21:13:17 +00:00
mhitch f027428995 Cursor is supposed to be turned on when unblanking the screen. 1997-11-18 20:16:28 +00:00
hannken 50be28153c Change order of include files. See PR #4532. 1997-11-18 12:40:31 +00:00
augustss ee5628ee52 Add another PnP id. 1997-11-18 11:31:07 +00:00
sakamoto 760b87dd7c Debugger() is called outside #ifdef DDB - fix.
remove simple monitor.
1997-11-18 03:09:09 +00:00
phil 7cf15a500f Boot loader changed addresses due to a size increase and a similar change
size in the boot floppy.
1997-11-18 01:19:21 +00:00
jonathan 1c7a3c901e Apply version of cursor for bt431 cursor chip on mfb:
Fix cursor sprite for X11 startup/exit:
 * add cursor on/off functions.
 * Default cursor state is off (for framebuffer console).
 * Turn off cursor in each driver's xxxCursorInit() entrypoint.
 * Turn on cursor at the end of each driver's xxxLoadCursor() entrypoint.
works with X11R5 servers shipped with NetBSD 1.3.
1997-11-17 11:44:50 +00:00
thorpej f56e6f631f Add an i/o address for iy0 (from GENERIC) 1997-11-17 03:42:52 +00:00
thorpej 9246032610 Put lc0 at i/o 0x320. 1997-11-17 03:39:42 +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
lukem 6c986561ee * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
ross 711247adf8 Eliminate %: use from alpha/trap.c; the policy is to get rid of these
anyway. I _still_ have my doubts about the kprintf %: code, though.
1997-11-17 00:52:49 +00:00
ross 9dcfc52387 Put in Jason's recommended fix for the null-curproc-in-pmap.old.c problem. 1997-11-17 00:11:22 +00:00
christos af27f4e9b5 PR/4506: Andreas Gustafsson: Finnish keyboard mapping for pccons. 1997-11-16 22:05:48 +00:00
mycroft 0963ca7386 Minor change. 1997-11-16 12:31:00 +00:00
mycroft d7107be1c9 Fix a condition where we might keep interrupts blocked while servicing a soft
interrupt.
Fixes serial port silo overflow problems.
1997-11-16 12:30:00 +00:00
jonathan 45ad7fb3e5 Fix cursor sprite for X11 startup/exit:
* add cursor on/off functions.
 * Default cursor state is off (for framebuffer console).
 * Turn off cursor in each driver's xxxCursorInit() entrypoint.
 * Turn on cursor at the end of each driver's xxxLoadCursor() entrypoint.
works with X11R5 servers shipped with NetBSD 1.3.
1997-11-16 10:17:53 +00:00
carrel 2030b7b104 Turn off reseting and disabling the device by default.
Document the option to turn them back on.
1997-11-15 20:18:50 +00:00
pk 639260ce32 Use DESTDIR consistently when constructing `boot.net'. 1997-11-15 14:29:36 +00:00
mycroft 93b31159bf When fixing up traps 1, 3 and 4, turn off the RF flag. 1997-11-15 04:47:30 +00:00
mycroft 6250567ba0 Make INTO actually work right. 1997-11-14 12:30:06 +00:00
jonathan 0c7ac6dc71 Initialize 3100 cursor to off, for rcons text mode.
(Minimal-distance fix for 1.3 release).
1997-11-14 02:01:22 +00:00
jonathan a5449ca17c Back out read-side DELAY() in previous revision added on advice of
tech-kern.  Reported by Sean Davidson to cause erroneous doubling of
keyboard input on a 5000/50 under load.

Increasing the DELAY() from 2 to 30 doesn't help. Remove it for the
1.3 release. May cause problems with low-speed serial input, but
console keyboards work properly.
1997-11-14 01:38:57 +00:00
is ad4c422ef9 Oops. Somehow the code to actually config_find the BBC on A1200s wasn't
committed.
1997-11-13 23:03:10 +00:00
phil 2516dd1548 int -> long in a structure. 1997-11-13 20:57:31 +00:00
mjacob 940f8fcfd1 remove unneeded and conflicting prototype 1997-11-13 18:06:01 +00:00
veego 86086729e7 if NARP -> if NARP > 0 1997-11-13 10:48:19 +00:00
veego 8b485c5962 Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
for NARP. This is for the 'new' arp system.
1997-11-13 10:43:06 +00:00
veego df6d37534b s/NETHER/NARP/ and s/ether.h/arp.h/ for the 'new' arp system. 1997-11-13 10:37:40 +00:00
mycroft b1c7e79679 Map NMI in user-level code to SIGBUS. 1997-11-13 10:13:46 +00:00
mycroft f946a9746d Oops; previous logic was wrong. 1997-11-13 07:21:23 +00:00
mycroft da60005b96 Only do the Pentium trap fixup when we get a kernel mode page fault. 1997-11-13 05:31:04 +00:00
mhitch 7984f5ce3a The scsi command length was not being set in rz_command(), which caused
the SII driver to fail when trying to get the drive geometry.
Remove extraneous newline when printing out the disk geometry during device
probes.
1997-11-13 03:56:49 +00:00
mycroft 4f8b60c6bb Implement the BSDI kluge for the Pentium `hang'; leave the first 7 IDT
descriptors in an unmapped page, and patch up the trap information inside
the page fault handler if the faulting VA is inside the IDT.
1997-11-13 03:25:27 +00:00
mycroft 6a310175c6 Some general cleanup:
* Call gdt_init() earlier on.
* Don't bother to check for TSS and LDT descriptors in verr_gdt().
* Nuke the sti special case for trace and breakpoint traps.
* Move some variable declarations into more appropriate locations.
1997-11-13 03:16:42 +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
pk ff4f5f4528 If necessary, defer console output until TX interrupt handler runs. 1997-11-12 22:18:54 +00:00
pk a309481f34 Change load address to avoid cache-aliasing on machines with Harvard-style
cache implementations (notably the Hypersparcs).
1997-11-12 00:37:07 +00:00
drochner b80ad6c934 -point to console(4) manpage for serial console parameters
(suggested by Chuck Cranor)
-insert a reasonable IO base address for "iy at isa"
 (from Ignatios Souvatzis)
1997-11-11 20:31:38 +00:00
scottr d28cbedf2f Fix typo in last change that causes lossage depending on
whether the MRG_ADB option is used or not.
1997-11-11 17:31:11 +00:00
mhitch c390c7a5e1 The address used by mips1_FlushICache() is a virtual address, not a physical
address.  This caused DDB to hang the machine hard when trying to set a
breakpoint.
1997-11-11 16:50:57 +00:00
thorpej 6fcc8cd8b1 Add locators for "eg0" device, and enable it. 1997-11-11 05:53:06 +00:00
is 9360bfcc81 Remove remnants from ISA com console attachment code, which caused, due
to missing variable initialization, a panic on the DraCo.
1997-11-10 22:29:03 +00:00
ragge 7b60c8ed11 Fix multivolume installation bug; PR#4454. 1997-11-10 22:14:16 +00:00
mhitch b0367937cb Fix typo: NRASTERRCONSOLE -> NRASTERCONSOLE 1997-11-10 21:59:18 +00:00
pk 85524f37b3 Set `dvma_cachealign' on Hypersparc. 1997-11-10 21:20:07 +00:00
mjacob 479bc8877c Protect userland applications from the inline splraise function. 1997-11-10 18:23:50 +00:00
is ff1fd132f3 Forgot this yestereve: s/CV64CONSOLE/CV3DCONSOLE/ 1997-11-10 12:17:20 +00:00
jonathan 9dee06e184 Add px placebo driver to standard pmax options. 1997-11-10 08:26:33 +00:00
phil b9b9e9752b Remove comment on bim.8 man page. 1997-11-10 01:58:10 +00:00
phil 29bc127e91 Remove unknown .even, complete a string in a macro call. 1997-11-10 01:50:25 +00:00
is f31e12d69d - recognize CV3D in Zorro-II mode.
- use board address space > 4 MB, instead of iszthreepa(), to detect Z3-mode
  boards. We dont want the bus, but want the address configuration.
- s/CV64CONSOLE/CV3DCONSOLE/
- s/cv3d_zorroIII == 1/cv3d_zorroIII/ and s/cv3d_zorroIII != 1/!cv3d_zorroIII/
1997-11-09 23:30:47 +00:00
scottr a41bde2076 Get rid of MSGBUFPTECNT; fixes PR 4331. 1997-11-09 06:10:44 +00:00
jonathan c176a3646e Fix kernel divide-by-zero errors and other bugs with removable devices:
* Add code to query CDs for size, from MI scsi cd.c. Use it on CDs.
  * Set C partition size for CDs. 4.4bsd/pmax code only set `a' partition
    size and required users to mount `a' partition, breking raw-device
    access like "disklabel rz?".
  * Avoid possible divide-by-zero call to howmany() from rzstart(),
    on removable media that aren't ready at device-open time.

Verified to work on rrz42.
1997-11-09 03:08:23 +00:00
jonathan 9e1d749da4 Initialize nfs_boot_rfc_951 to 1. Makes pmax kernels to use bootp,
not RARP/bootparams, to get diskless-boot config info.
Decstation PROMs already use BOOTP so we lose nothing.
1997-11-09 02:03:50 +00:00