Commit Graph

30981 Commits

Author SHA1 Message Date
leo ffd3da04d4 Comply with the changes Jason suggested yesterday. A copy of his log message:
Don't (ab)use uvm_map_pageable() to allocate PT pages.  Instead, do
  some internal reference counting on PT pages.  We still allocate them
  with the page fault routine (a wire-fault, now), but no longer free
  PT pages from pmap_pageable().
1999-06-17 07:59:16 +00:00
tsubai a8d7da0d21 Add "trackpad" definition. 1999-06-17 06:59:05 +00:00
thorpej 1f97ad987f In uvm_useracc(), make sure we have a read lock on the map before
calling uvm_map_checkprot().
1999-06-17 05:57:33 +00:00
mjacob 92f90fcb92 STK 9490 && SD-3 drives incorrectly quirked as not supporting the LOAD command.
Anyway, just because a drive doesn't support the LOAD (to BOT) command does
not mean that the drive doesn't support the UNLOAD command. Also note and
print errors in rewinds and unloads (and errors in writing closing filemarks
for same).
1999-06-17 04:20:55 +00:00
thorpej f274deb90a The i386 and pc532 pmaps are officially fixed. 1999-06-17 00:24:10 +00:00
thorpej f51688dd8b PMAP_NEW is no longer optional on the pc532; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:22:41 +00:00
thorpej e2442268e9 PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.
1999-06-17 00:12:10 +00:00
thorpej cf110d86e7 1.4D -- semantics of uvm_map_pageable() changed. 1999-06-16 23:10:51 +00:00
thorpej d1d9b366cd When unwiring a range in uvm_fault_unwire_locked(), don't call
pmap_change_wiring(...,FALSE) unless the map entry claims the address
is unwired.  This fixes the following scenario, as described on
tech-kern@netbsd.org on Wed 6/16/1999 12:25:23:

	- User mlock(2)'s a buffer, to guarantee it will never become
	  non-resident while he is using it.

	- User then does physio to that buffer.  Physio calls uvm_vslock()
	  to lock down the pages and ensure that page faults do not happen
	  while the I/O is in progress (possibly in interrupt context).

	- Physio does the I/O.

	- Physio calls uvm_vsunlock().  This calls uvm_fault_unwire().

	  >>> HERE IS WHERE THE PROBLEM OCCURS <<<

	  uvm_fault_unwire() calls pmap_change_wiring(..., FALSE),
	  which now gives the pmap free reign to recycle the mapping
	  information for that page, which is illegal; the mapping is
	  still wired (due to the mlock(2)), but now access of the
	  page could cause a non-protection page fault (disallowed).

	  NOTE: This could eventually lead to a panic when the user
	  subsequently munlock(2)'s the buffer and the mapping info
	  has been recycled for use by another mapping!
1999-06-16 23:02:40 +00:00
thorpej b861180119 * Rename uvm_fault_unwire() to uvm_fault_unwire_locked(), and require that
the map be at least read-locked to call this function.  This requirement
  will be taken advantage of in a future commit.
* Write a uvm_fault_unwire() wrapper which read-locks the map and calls
  uvm_fault_unwire_locked().
* Update the comments describing the locking contraints of uvm_fault_wire()
  and uvm_fault_unwire().
1999-06-16 22:11:23 +00:00
thorpej 42c671ffba Modify uvm_map_pageable() and uvm_map_pageable_all() to follow POSIX 1003.1b
semantics.  That is, regardless of the number of mlock/mlockall calls,
an munlock/munlockall actually unlocks the region (i.e. sets wiring count
to 0).

Add a comment describing why uvm_map_pageable() should not be used for
transient page wirings (e.g. for physio) -- note, it's currently only
(ab)used in this way by a few pieces of code which are known to be
broken, i.e. the Amiga and Atari pmaps, and i386 and pc532 if PMAP_NEW is
not used.  The i386 GDT code uses uvm_map_pageable(), but in a safe
way, and could be trivially converted to use uvm_fault_wire() instead.
1999-06-16 19:34:24 +00:00
thorpej 23c6eb95d3 Remove a incorrect-and-no-longer-relevant comment. 1999-06-16 18:43:28 +00:00
thorpej 26879cb8fb Clean up some comments. 1999-06-16 17:43:49 +00:00
minoura ff8fb3ef82 Remove extra ]. 1999-06-16 17:25:39 +00:00
tsubai c28bad1d51 Define PowerBook G3 Japanese keyboard. 1999-06-16 08:48:37 +00:00
tsubai a2e8151f8e Define symbolic name of PMU commands. 1999-06-16 07:43:58 +00:00
pk b6429ec3c5 In scsipi_done(), call scsipi_free_xs() at splbio(). 1999-06-16 07:35:31 +00:00
thorpej ee9703dea9 Add a macro to test if a map entry is wired. 1999-06-16 00:29:04 +00:00
thorpej ad528dfdf0 Regen. 1999-06-15 23:29:17 +00:00
thorpej 0cec533f77 Add mlockall at #242 and munlockall at #243. 1999-06-15 23:28:16 +00:00
thorpej c5a43ae10c Several changes, developed and tested concurrently:
* Provide POSIX 1003.1b mlockall(2) and munlockall(2) system calls.
  MCL_CURRENT is presently implemented.  MCL_FUTURE is not fully
  implemented.  Also, the same one-unlock-for-every-lock caveat
  currently applies here as it does to mlock(2).  This will be
  addressed in a future commit.
* Provide the mincore(2) system call, with the same semantics as
  Solaris.
* Clean up the error recovery in uvm_map_pageable().
* Fix a bug where a process would hang if attempting to mlock a
  zero-fill region where none of the pages in that region are resident.
  [ This fix has been submitted for inclusion in 1.4.1 ]
1999-06-15 23:27:47 +00:00
ad 10b0c75443 - Don't even try to emulate WSATTR_HILIT on mono displays
- WSATTR_REVERSE is a capability of both mono/color
1999-06-15 22:34:45 +00:00
perseant a818a47169 Minor changes to the segment live bytes calculation. In particular, fixed
a bug in fragment extension that could run the count negative.  Also, don't
overcount for inodes, and don't count segment summaries.  Thus, for empty
segments the live bytes count should now be exactly zero.
1999-06-15 22:25:41 +00:00
thorpej 602d8e81f7 Don't (ab)use uvm_map_pageable() to allocate PT pages. Instead, do
some internal reference counting on PT pages.  We still allocate them
with the page fault routine (a wire-fault, now), but no longer free
PT pages from pmap_pageable().
1999-06-15 22:18:07 +00:00
ad 05a0ca4737 Fix stupid alignment bug. The 'slop' stuff is due for replacement with masks
RSN per the README.
1999-06-15 21:34:05 +00:00
kleink 857dfc7058 Slightly rearrange the SSIR inline assembly implementation in order to avoid
making assumptions on C symbol name prefixes.
1999-06-15 15:26:34 +00:00
kleink 51eb26bf7e Slightly rearrange the inline assembly in ledcontrol() to avoid frobbing a
C symbol name prefix.
1999-06-15 15:18:55 +00:00
minoura cd06c07723 Check file open mode at ioctl.
Add debug option SRAM_DEBUG_DONTDOIT.
1999-06-15 15:04:56 +00:00
thorpej fed8519457 Don't load the symbol table if it's corrupted. 1999-06-15 00:23:19 +00:00
cgd e33c6c47a2 set bb_flags to zero; who knows what they were (on disk) previously,
and SRM is finicky about what values it will allow.
1999-06-14 23:55:29 +00:00
cgd b6e1d0f85a set bb_flags to 0. Though not strictly necessary (because of an earlier
memset()), this is nice for source-level consistency.
1999-06-14 23:52:25 +00:00
thorpej 45e5ec934e Use a more descriptive wait message for VM map locks. 1999-06-14 22:05:23 +00:00
augustss 475ed73e46 Get rid of a bunch of code that was part of an old USBDI proposal, but that
is unused in our USB stack.

Once upon a time, when I started writing the USB stack for NetBSD, there
was an effort to make a standard for how USB device drivers should interact
with the rest of the USB stack.  This effort had contributors from just
about all Un*x camps (but not Micro$oft :).  I based my design on one of their
early proposals since I thought it would be a good idea if we could all
share device drivers with a minimum effort.  Shortly after I started my work
all the free Un*x people were thrown out of the USBDI work since we did not
pay the USB membership fee.  Well, some time has passed now and the work of
the standardization group is almost public again.  But alas, the new standard
has grown to be a monster!  I do not want to have this as the basis for the
*BSD USB stack; it is far too complicated.
So, since we are not even close to being compilant with the standard, I've
thrown out some old baggage.
1999-06-14 17:09:57 +00:00
augustss 656245dc18 Check that the hub ports actually power up. 1999-06-14 16:59:47 +00:00
tsubai 4df925b8b0 * Don't use DMA interrupt.
* Stop DMA explicitly in finish routine.
1999-06-14 08:53:06 +00:00
tsubai 86d2f9253a Consider "have /psuedo-hid and only ADB keyboard" case to make the
new PowerBook G3 happy.
1999-06-14 06:22:50 +00:00
briggs 3cce22665e Clear interrupts on a Radius GS/C card. Thanks go to Yasufumi Suzuki
<yattin@sco.bekkoame.ne.jp> for doing the MacsBug "leg"work for me.
1999-06-14 03:11:34 +00:00
oster f4628e2fda FILE_UNUSE needs two args, not one. 1999-06-13 21:34:32 +00:00
oster 86abd11d42 Remember to pass down the proc pointer when adding a hot spare.
(Thanks to Martin J. Laubach for helping track this one down.)
1999-06-13 20:36:17 +00:00
mhitch cff0f6b1e4 Don't pre-load the identify message into the fifo just just before the command register
is written.  This significantly reduces, if not eliminates, the problem reported in
PR#5510.  It stops the problem on my 5000/200, and two other people have verified that
it fixes the problem on their 5000/200s.  I'm waiting for confirmation from the PR
originator before closing the PR.
1999-06-13 17:21:29 +00:00
kim c867e93fae Pickup changes from ../biosboot/Makefile and add .PATH so that source
files are found.  Now this compiles ok (have yet to run the blocks).
1999-06-13 17:21:18 +00:00
pk f90f079222 Fix typo in previous. 1999-06-13 07:58:20 +00:00
pk fee9cd9c12 Initialize the heap (for alloc()) explicitly, since the `end' symbol
is not necessarily double-word aligned.
1999-06-12 12:49:24 +00:00
dante 001471550c Move chip version check from advlib.c to adv_isa.c 1999-06-12 12:10:30 +00:00
dante 35e149ef50 Move chip version check from advlib.c to adv_pci.c 1999-06-12 12:09:58 +00:00
dante d0fb45fdf3 Clean up some stuff
Remove chip version check
Now compile again on 68k based systems
1999-06-12 12:09:01 +00:00
pk 5b4a75d281 scsipi_free_xs() wants to be called at splbio; do it. 1999-06-12 11:19:00 +00:00
pk 3fffa45b75 Guard global `rnd_mempool' against interrupts.
Use appropriate flags in pool_get().
1999-06-12 10:58:47 +00:00
ender 2b55a690f8 Change the annoying printf() of 2 backspaces to a space followed by a
backspace for aesthetics.
1999-06-12 00:21:13 +00:00
wrstuden 9f43c5a1f2 If we're the console keyboard, automatically enable the keyboard.
Should fix part of console keyboard problems on macppc. The usb keyboard will
now work on boot! Doesn't fix problems with keyboard freaking out when
changing LED state.

Thanks to Mattias & Lennart & Tsubai for input on resolving this problem.
1999-06-11 19:05:13 +00:00
scottr 35f356e920 Eliminate more overhead in delay(); there's no point in doing the same
thing in both the calibrator function and the actual delay function.  At
this point, _delay() does all of the work, so we can garbage collect
dummy_delay() and make _delay() an alternate entry point for delay().

This results in a small (but measurable) improvement on the IIci.
1999-06-11 06:51:39 +00:00
nisimura e3b1b88d76 - Errors in case analysis... 1999-06-11 01:44:47 +00:00
nisimura f4be9af151 - Rework copycols() with SFB ASIC calls. 1999-06-11 00:56:09 +00:00
augustss c65a504ed5 Add more debug. 1999-06-10 15:48:27 +00:00
eeh 0693ec8379 Don't change protection on the clock for the moment. 1999-06-10 04:31:20 +00:00
briggs a6b22a059a Note that 0x146 is a Micron Exceed. 1999-06-10 03:25:18 +00:00
briggs 3ea7c860b9 Use information from Kensuke Ogawa <kenogawa@festa.or.jp> to disable
interrupts on a Micron Exceed color video card.
1999-06-10 03:24:38 +00:00
nisimura 9a3291290d - Correct errorneous comments for kn*_wbflush() routines. 1999-06-10 01:37:10 +00:00
nisimura 0ebace83f4 - Remove local declaration of 'dev_name2blk[]'.
- Minor formatting correction and removal of defunct debug lines.
1999-06-10 01:06:40 +00:00
augustss 2959234be5 Fix a bug in bulk input. Discovered by Joel Chen <jchen@liberate.com>. 1999-06-09 22:57:16 +00:00
wrstuden cd0a68c3f6 Fix use of & when % was appropriate. 1999-06-09 19:40:54 +00:00
augustss 27b9cd0724 Remove a redundant test. 1999-06-09 17:04:45 +00:00
scottr 6adfba2698 Tweak previous: use shorter instructions to accomplish the same
#task (minimizes overhead).
1999-06-09 15:34:08 +00:00
drochner 6e2b65ec1d regen 1999-06-09 12:38:50 +00:00
drochner b4e4c530db add "sys_" prefix to LFS syscalls 1999-06-09 12:33:18 +00:00
drochner b121ed29dd complete the previous
reindent syscall args
1999-06-09 12:18:19 +00:00
scottr 3c26ad58a1 Someone forgot to tell ddb that SWAP is not PEA. 1999-06-09 07:53:22 +00:00
nisimura 981a3b4cb2 - Nuke declarations for now obsolete implementations of spl()s. 1999-06-09 07:33:29 +00:00
scottr f2f8426e86 Write a new low-level assembly help for delay() and the calibrator. This
eliminates stalls during instruction prefetch and makes the delay
consistent regardless of kernel configuration.
1999-06-09 06:59:53 +00:00
christos e2b181b130 prefix the lfs syscalls with sys_ 1999-06-09 04:52:11 +00:00
christos 354ba222e6 Regen 1999-06-09 04:50:32 +00:00
christos b7a0cd53a2 Propagate kern changes 1999-06-09 04:50:10 +00:00
christos 4ebea99d8e Regen 1999-06-09 04:28:24 +00:00
christos 1e6c35821b propagate changes from kern 1999-06-09 04:27:44 +00:00
christos 2e93ab06a7 Regen2 1999-06-09 04:27:01 +00:00
christos e13d964178 Regen 1999-06-09 04:25:54 +00:00
christos 3f8f92f2b4 Add EXCL keyword as described in tech_kern, and fix comments. Make the
vtrace syscall UNIMPL because it is.
1999-06-09 04:25:30 +00:00
briggs f98c8a0394 Remove some register declarations.
Get Q9x0 dual SCSI at least basically working.
Be paranoid about some register reads.
1999-06-09 03:41:34 +00:00
christos 2cfd9ef718 Synchronize with GENERIC 1999-06-09 01:47:14 +00:00
simonb 6a949cddfb Include <pmax/pmax/machdep.h> instead of declaring our own prom_*()
prototypes.
1999-06-08 23:42:36 +00:00
simonb b7a2ec3f01 + Call prom_scsiid() to found out what the host SCSI ID should
be instead of hardcoding values.
 + Print the host SCSI ID in siiattach().

XXX - probably should do the same to the ASC driver??  The manuals for
the 5000 series machines don't mention the scsiidN env variable, but it
is present on all the models I've looked at...
1999-06-08 23:41:59 +00:00
simonb 7eb995464d + Add prototypes from the prom_*() callback routines.
+ Remove leading "extern" from function declarations.
 + CG unused latched_cycle_cnt.
1999-06-08 23:40:42 +00:00
simonb 661c94c72c + Add prom_getenv(), and use it instead off calling callv->_getenv.
+ Add prom_scsiid() to read and decode the prom scsiidN environment
   variable that says what the host SCSI id should be.
 + Include <pmax/pmax/machdep.h> instead of declaring our own
   prom_*() prototypes.
1999-06-08 23:40:19 +00:00
mrg efb227d3a7 fix a few KNF nits .. 1999-06-08 10:38:15 +00:00
mrg 30c351dc59 mmm, missing return types make gcc unhappy. 1999-06-08 10:35:36 +00:00
mhitch d9be0d6e6b When entering a read-only page for MIPS3, va does not need to be adjusted by PAGE_SIZE
when flushing the I-cache.
1999-06-08 03:44:18 +00:00
thorpej c146fe969e Regen. 1999-06-08 03:08:32 +00:00
thorpej 8b35c542b5 mincore: caddr_t -> void * 1999-06-08 03:07:39 +00:00
thorpej 84380f9fbe In sosend(), if so_error is set, clear it before returning the error to
the process (i.e. pre-Reno behavior).  The 4.4BSD behavior (introduced
in Reno) caused transient errors to stick incorrectly.

This is from PR #7640 (Havard Eidnes), cross-checked w/ FreeBSD, where
Bill Fenner committed the same fix (as described in a comment in the
Vat sources, by Van Jacobsen).
1999-06-08 02:39:57 +00:00
nisimura 540b02ab76 - Exterminate haunted evil soul of MIPS va_arg(). Verified OK with
either endian.  Not a perfect solution which would be revealed on
a certain condition when va_arg() is applied to magical struct
arguments passed by value.  format_bytes() is now saved.  With the
help from Noriyuki Soda and Masanari Tsubai.
1999-06-08 00:46:38 +00:00
thorpej 1c5f2999b2 Make sure `olddelta' is a valid pointer before performing the guts of
the adjtime(2) system call.  Fixes PR #7721, Darren Reed.
1999-06-07 22:33:53 +00:00
is b7ee76f1c4 Check for an unterminated bus; if yes: complain and don't try to use this
bus. Without this, cbiiisc used to hang if nothing was connected.
Reported by Matthias Scheler. A similar method to avoid this was suggested
by Ralph Schmidt.
1999-06-07 21:30:57 +00:00
thorpej 2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
thorpej 12006f3c05 Don't clobber the error returned by uiomove() when starting the audio
output (in case we got a partial block).  Fixes PR #7722, from
Antti Kantee <pooka@iki.fi>.
1999-06-07 19:24:38 +00:00
thorpej ec9fd3b48c Fix a braino in vm_map_unlock(). Thanks to Chuck Silvers for pointing
out that there was a problem, and for sending me a trace.
1999-06-07 16:34:04 +00:00
thorpej 5de7bac9b1 Print the maps flags in "show map" from DDB. 1999-06-07 16:31:42 +00:00
thorpej 397b71aaca Fix a typo. 1999-06-07 15:25:19 +00:00
mrg 0525e9c7ef add ebus attachment for cs4231. this does not work as it requires ebus DMA and will panic if enabled. but it should otherwise be mostly complete. 1999-06-07 14:59:14 +00:00
mrg 03c5c00056 remove "EXPERIMENTAL" comment from this file, as it does not exist elsewhere in this directory. 1999-06-07 14:43:34 +00:00
thorpej a0faadd7d2 Make traces work with ELF kernels. 1999-06-07 07:00:07 +00:00
mrg aa506f8098 copyright foo. in the future, we will all be binary-redistributable. 1999-06-07 05:40:08 +00:00
eeh 1884f05354 Another general cleanup:
Remove the entire idea of fasttrap interrupts since V9 traps are really cheap,
the CPUs are really fast, and the completely different trap frames would make
these handlers really difficult to implement.

pmap_changeprot() was only used by the clock and one other place; deprecate it.

probeget() and probeset() now take 64-bit addresses even in 32-bit mode so we
can probe IO locations by physical addresses.

Some pmap cleanup.

Some more copyright cleanup.
1999-06-07 05:28:03 +00:00
thorpej 4476366369 Make sure the regression test compiles. 1999-06-07 02:25:05 +00:00
mrg 7185af78dc oops. move sendit: above the PFIL_HOOKS so that multicast traffic is filtered. from darren reed. 1999-06-07 01:26:04 +00:00
pk 62cb666f4a Guard our global resource `phpool' against all interrupts. 1999-06-06 22:20:15 +00:00
pk 0e286f5c1f Guard our global resource `expool' against all interrupts. 1999-06-06 22:14:53 +00:00
ragge 92d41a0675 Copied from ../../arch/vax/if/if_uba.c,v 1999-06-06 20:45:21 +00:00
ragge 0f8d40c444 Copied from ../../arch/vax/if/if_uba.h,v 1999-06-06 20:45:02 +00:00
is 92568502cc Don't dump all the registers at attach time. It works now. 1999-06-06 19:58:31 +00:00
ragge 2778cc9866 Copied from ../../arch/vax/if/if_qereg.h,v 1999-06-06 19:27:06 +00:00
ragge 8237a141e5 Copied from ../../arch/vax/if/if_qe.c,v 1999-06-06 19:26:44 +00:00
ragge 508b5c5cee Bus'ify the mscp code also. 1999-06-06 19:16:18 +00:00
ragge a2692d780b Fix map register/DMA wait queues.
Still to do:
	BDP handling. Currently missing.
	Ubareset's won't work at all.
1999-06-06 19:14:48 +00:00
ragge 3bb07459cd Qbus moved in hierarchy. 1999-06-06 19:10:49 +00:00
ragge 4756cdb74e Page tables must be pageable (where did this disappear?)
Fix a PGOFSET -> VAX_PGOFSET miss.
Stylistic cleanup.
1999-06-06 19:09:50 +00:00
ragge f6d61fb6ad Add an define for SGMAP. 1999-06-06 19:07:11 +00:00
ragge d55d0ac4b5 Add some more IPRs for KA670. 1999-06-06 19:06:29 +00:00
ragge db8c0c9c4c Use gencons if VAX670. 1999-06-06 19:05:21 +00:00
ragge 02637941e5 Ops, forgot this file. 1999-06-06 19:03:40 +00:00
ragge 134b65fde3 Added support for Qbus DMA. 1999-06-06 19:00:53 +00:00
ragge 64572c459a sgmap files, copied from the Alpha port and modified for vax. 1999-06-06 18:58:50 +00:00
dante a775803f91 Add adv* entry under ISA devices 1999-06-06 17:57:23 +00:00
dante 600618d977 Add adv0 entry under ISA SCSI controllers 1999-06-06 17:37:03 +00:00
dante 162dba620b Add support for ISA, EISA and ISApnp cards
Fixed a bus reset bug which shows on arm32
1999-06-06 17:33:18 +00:00
dante 29c6046a31 Add adv_isa.c entry 1999-06-06 17:30:37 +00:00
dante 8c090be7cb Add support for the following AdvanSys SCSI ISA cards:
Connectivity Products:
   ABP510/5150 - Bus-Master ISA (240 CDB) (Footnote 1)
   ABP5140 - Bus-Master ISA (16 CDB) (Footnote 1) (Footnote 2)
   ABP5142 - Bus-Master ISA with floppy (16 CDB) (Footnote 3)

Single Channel Products:
   ABP542 - Bus-Master ISA with floppy (240 CDB)

Footnotes:
  1. This board has been shipped by HP with the 4020i CD-R drive.
     The board has no BIOS so it cannot control a boot device, but
     it can control any secondary SCSI device.
  2. This board has been sold by SIIG as the i540 SpeedMaster.
  3. This board has been sold by SIIG as the i542 SpeedMaster.
1999-06-06 17:28:58 +00:00
ragge 22b5707362 Complete support for VAX 4000/300. From Michael Kukat. (michael@camaronet.de) 1999-06-06 14:23:46 +00:00
mrg e6545647b8 update this to GENERIC rev. 1.84. 1999-06-06 13:06:38 +00:00
mrg 440ac638bc EXEC_ELF32 is now default. enable "rnd" 1999-06-06 13:00:03 +00:00
pk 3d9ae33cfb Add COMPAT_AOUT. 1999-06-06 09:23:38 +00:00
mrg 1428ee6103 note that this is for an u5/u10 (from hubert) 1999-06-06 01:59:40 +00:00
eeh 186c3eba2b Make pbrobeget() and probeset() work for 64-bit values as well. To do this
the arguments are changed so the address is first and the ASI second so we
can have the address in %o0:%o1 and not worry about unused registers.

Also a bit of copyright cleanup.
1999-06-05 21:58:16 +00:00
eeh 3f7968c736 Fix things up so they compile again. 1999-06-05 20:38:24 +00:00
eeh fcd1351b4c Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF. 1999-06-05 16:55:19 +00:00
eeh dca7a79c9d Guys, let's get real. We don't really want an #if !defined() for every possible
machine that could concievably have defined an IPL_AUDIO, do we?
1999-06-05 16:51:39 +00:00
mrg 14729c2b11 fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices. 1999-06-05 14:34:22 +00:00
mrg 5e7ea137ac lpt at ebus. fixed (commented) audiocs attachments. 1999-06-05 14:33:44 +00:00
mrg 875af1a2f8 put `audiocs' stuff in here so we can share it between sbus & ebus. 1999-06-05 14:32:08 +00:00
mrg 67cbdf5623 split sbus audiocs code up so we can share it with the ebus. XXX ebus DMA is probably different. 1999-06-05 14:29:10 +00:00
mrg eca7784d58 XXX avoid redefiing splaudio and IPL_AUDIO on the sparc XXX 1999-06-05 14:26:07 +00:00
mrg 756c2cde22 map in registers, configure interrupts, this appears to be OK now. 1999-06-05 14:19:44 +00:00
mrg e8ccf39491 find ebus device INO values via the "interrupt-map" and "interrupt-map-mask" properties. 1999-06-05 14:18:26 +00:00
augustss d80294fead Regen. 1999-06-05 14:14:42 +00:00
augustss c5255e5a48 Remove vendor from one of the descriptive strings; it's superfluous. 1999-06-05 14:14:02 +00:00
augustss 0e2edfb67a Very small formatting nit. 1999-06-05 13:43:03 +00:00
pk bea0725979 64-bit safety to help sharing compilation tools with sparc64. 1999-06-05 12:54:23 +00:00
tron a1259a8d1b Regen. 1999-06-05 10:42:15 +00:00
pk d256dc6c3c `rasops_glue' is only here to force the header file's name hence it must
be mentioned first in the expression.

Shudder..
1999-06-05 10:42:11 +00:00
tron bffc27b587 Add Matrox MGA 400, 3Dfx Banshee and Voodoo 3. 1999-06-05 10:41:37 +00:00
tron e9fe988d72 Regen. 1999-06-05 09:54:29 +00:00
tron 1c05aff552 Add Brother HL-1050 laser printer. Fixes second half of PR kern/7699
by Bjoern Labitzke.
1999-06-05 09:54:09 +00:00
tron 2b262e8565 Regen. 1999-06-05 09:44:03 +00:00
tron fce6975678 Add entry for Riva TNT and correct entry for Riva 128.
Fixes first half of PR kern/7699 by Bjoern Labitzke.
1999-06-05 09:43:21 +00:00
pk 56aa5f9391 Cast ptrdiff_t to long for printf purposes. 1999-06-05 08:36:29 +00:00
pk 9db217428b Cast size_t to long for printf purposes. 1999-06-05 08:35:45 +00:00
mrg 3670ff2120 if we are not bypassing the MMU, use ASI_PRIMARY. map PCI memory space
non-cached.  XXX clean this up by looking at the "non-cacheable" bit of
the full physical address.
avoid having 'nbuf' change between calls to `mdallocsys()' by setting it
in mdallocsys() like the MI allocsys() does.  XXX fix this too!
fix some printf lossage.
update for probeget() changes -- though bus_space_probe() appears to be
unused on the sparc64.
1999-06-05 05:35:41 +00:00
mrg cc49a21298 use common IOMMU routines. 1999-06-05 05:30:43 +00:00
mrg da265ce045 clean up a bit, implement pci_conf_{read,write}() with probe[gs]et() (not yet used). 1999-06-05 05:29:50 +00:00
mrg bb0d20abc4 lpt at ebus. 1999-06-05 05:28:36 +00:00
mrg dcb6040569 clock attaches at ebus also now. 1999-06-05 05:10:01 +00:00
mrg 4b183190b5 update a commit slightly. 1999-06-05 05:08:25 +00:00
mrg 2ee43849be catch up with probe[gs]et() changes. 1999-06-05 05:05:11 +00:00
thorpej f421cc0851 Keep interrupt-safe maps on an additional queue. In uvm_fault(), if we're
looking up a kernel address, check to see if the address is on this
"interrupt-safe" list.  If so, return failure immediately.  This prevents
a locking screw if a page fault is taken on an interrupt-safe map in or
out of interrupt context.
1999-06-05 04:12:31 +00:00
mrg 6dffb4dff3 use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it).  pull in psycho, pci,
ata and pciide code.  clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works).  add `lpt at ebus',
wd major number, and other misc. commented devices.
1999-06-05 03:16:19 +00:00
mrg cb392a2e1d only set LD to /usr/ccs/bin/ld if it exists. avoid empty SFILES. 1999-06-05 01:56:31 +00:00
thorpej 2c3dc83a64 Keep interrupt-safe maps on an additional queue. In uvm_fault(), if we're
looking up a kernel address, check to see if the address is on this
"interrupt-safe" list.  If so, return failure immediately.  This prevents
a locking screw if a page fault is taken on an interrupt-safe map in or
out of interrupt context.
1999-06-04 23:38:41 +00:00
castor 6b1b77230e in switch_exit() previous fix forgot to guard REG_L with REG_PROLOGUE and
REG_EPILOGUE.
1999-06-04 21:43:12 +00:00
castor 4f92d800a6 fix register restore to be safe for n32 model. 1999-06-04 21:35:47 +00:00
thorpej c5e6001ff8 Don't built most of the PCVT utilities; they're not really useful anymore,
now that we're trying to deprecate PCVT.

XXX Leave the fonts and font editor for now.
1999-06-04 18:47:33 +00:00
drochner b458b1c57e In pckbd_decode(), do the remapping of "extended" (multibyte) keys
before the elimination of typematic events.
This fixes the case where the "extended" prefix was not ignored and
affected the next keystroke. (seen with the AltGr key)
1999-06-04 15:03:43 +00:00
mrg 8613b8e39d avoid uninitalised pointers. 1999-06-04 14:29:38 +00:00
mrg 3a1472c106 GC dead code. add support for PCI and IDE boot device detection, plus hme ethernet.
should probably deal with be and qe, etc.
1999-06-04 14:00:38 +00:00
mrg 27bcf2b6e6 eek. sparc can have "wd" disks. 1999-06-04 13:58:59 +00:00
mrg e40f54e4c7 GC dead code. add support for PCI and IDE boot device detection, plus hme ethernet.
should probably deal with be and qe, etc.
1999-06-04 13:55:37 +00:00
mrg a1c100d377 clone this from the macppc port. 1999-06-04 13:51:57 +00:00
mrg 10b89455c7 pull iommu code out of sbus code so we can share it with the PCI.
define some useful PCI macros.
1999-06-04 13:48:48 +00:00
mrg 03adf4aad1 PCI driver for the UltraSPARC. this only works on the Ultra5/10 machines
(`SUNW,sabre') for now, and it doesn't really quite work there yet anyway.
the bus space/dma code is cloned from the sbus driver.  the IOMMU code also
is cloned from the sbus code, but separated out into iommu.c so that we can
share it with the sbus driver.  hopefully, much of the bus space/dma code
can also be re-shared with the sbus driver and the ebus driver but for now
these copies will do.

support for the real UltraSPARC PCI (`SUNW,psycho') is unwritten, though
most of this code is shared with it.

we can probe PCI config space and try to configue devices, but interrupts
don't work yet...
1999-06-04 13:42:14 +00:00
mrg 36237341af support for the UltraSPARC `Extension Bus' found on the PCI machines.
the bus space/dma code is cloned from the PCI code to do the same thing
which itself was cloned from the sbus bus space/dma code.  the bus dma
code is non-functional at this point.
1999-06-04 13:29:13 +00:00
mrg da08612af4 Ultra5/10 configuration. 1999-06-04 13:22:22 +00:00
oster 8c39e1bf02 When adding a hot spare, remember to lock down the main raidPtr
structure before mucking with its contents.
1999-06-04 02:02:39 +00:00
oster 60769ea563 At config time, initialize a small amount of space for the disk queues
corresponding to the hot spares.  We'll need that space when a spare is
actually added.  Huge Thanks to Martin Laubach for helping track this down.
1999-06-04 01:51:00 +00:00
oster 3af0ce9e19 Don't count two problems with a single component as two
component failures!  Also: remember to configure the disk queues for
the spares -- failure to do that is Bad(tm).
Huge Thanks to Martin Laubach for helping track this down.
1999-06-04 01:50:01 +00:00
minoura bb1f24c221 Could not be compiled without PMAP_NEW. 1999-06-03 14:43:33 +00:00
leo 9a13ebbdd6 Fix lossage with the et4000. Some of the CRT registers were incorrect. 1999-06-03 12:38:50 +00:00
thorpej 8c59c67288 Just say no to interrupt-safe maps. 1999-06-03 00:05:45 +00:00
thorpej acf81da21e A page fault on a non-pageable map is always fatal. 1999-06-02 23:26:21 +00:00
christos f2393e39f3 Don't include rasops files unconditionally; only when we have rasterconsole or
wsdisplay.
1999-06-02 23:24:54 +00:00
christos beb12b13b9 Don't include rasops and wscons goo here; we get it already from fbvar.h 1999-06-02 23:24:00 +00:00
thorpej 779ecdd773 Simplify the last even more; We downgraded to a shared (read) lock, so
setting recursive has no effect!  The kernel lock manager doesn't allow
an exclusive recursion into a shared lock.  This situation must simply
be avoided.  The only place where this might be a problem is the (ab)use
of uvm_map_pageable() in the Utah-derived pmaps for m68k (they should
either toss the iffy scheme they use completely, or use something like
uvm_fault_wire()).

In addition, once we have looped over uvm_fault_wire(), only upgrade to
an exclusive (write) lock if we need to modify the map again (i.e.
wiring a page failed).
1999-06-02 22:40:51 +00:00
is 1790023ce8 Support ADOS file systems with more then 512 bytes/sector.
Fixes contributed by Detlef Würkner in PR 7653.
1999-06-02 22:04:30 +00:00
thorpej 0723d57281 Clean up the locking mess in uvm_map_pageable() a little... Most importantly,
don't unlock a kernel map (!!!) and then relock it later; a recursive lock,
as it used in the user map case, is fine.  Also, don't change map entries
while only holding a read lock on the map.  Instead, if we fail to wire
a page, clear recursive locking, and upgrade back to a write lock before
dropping the wiring count on the remaining map entries.
1999-06-02 21:23:08 +00:00
is 59b9a4fb42 Handle RDB ( Amiga native ) partition tables on media with more than 512
bytes/sector correctly.
Submitted by Detlev Würkner in PR 7653.
Non-trivial merge with the 1.30 change (handle old AmigaDOS fs partitions
with simulated sectorsperblock > 1) by myself, so don't blame Detlev if it
doesn't work (but I checked!).
XXX We still need changes to the file systems to handle this fully.
1999-06-02 21:09:03 +00:00
mycroft 7d5f7a34ce We need wsdisplayvar.h for this to compile now! 1999-06-02 12:11:39 +00:00
drochner ee9cd19ba7 regen 1999-06-02 08:57:02 +00:00
drochner 1fabcae9bf add SIS 6326 low-end AGP graphics
fix CL_PD6832 device id, PR kern/7691 from Paul Dokas
1999-06-02 08:56:03 +00:00
lukem 5e76cbddfb in humanize_number(), when printing a u_int64_t, use '%qu' (unsigned long long)
instead of '%qd' (long long)
1999-06-02 05:53:56 +00:00
thorpej f687b845d0 Make sure bus mastering is enabled; some broken BIOSes don't set this
up properly.
1999-06-01 19:17:59 +00:00
thorpej 2349cbb5b3 Glue in the SiS900 Ethernet controller driver. 1999-06-01 18:29:50 +00:00
thorpej ba43886d7e Device driver for the Silicon Integrated Systems SiS900 10/100 Ethernet
chip, found on the IBM Netstation.
1999-06-01 18:19:13 +00:00
leo 80054d22ac Fix copyright (exchange clauses 3 & 4). 1999-06-01 14:27:39 +00:00
bouyer 466d1747ff memset ump->um_e2fs to 0 after malloc, it is bigger than SBSIZE and thus some
parts were left uninitialised. The symptom was that a read-only mount tried
to rewrite back the superblock.
1999-06-01 13:18:49 +00:00
mark eb947d2f5e Fix bug in event signalling. 1999-06-01 09:34:06 +00:00
briggs 6e95146ec6 Raise spl4 to spl6 in quick_go--I am now experimenting with interrupts
at levels 5 (sound) and 6 (via1) on the Q700.
Raise splhigh when reading and writing registers.  It's ugly, but it's
possible that we could get an interrupt from a higher-level source,
causing a re-read of a memory location.
This is not good when, e.g., we are reading the interrupt register.
Ideally, we would just raise splhigh() in ncr53c9x_readregs(), but
that's m.i. code, and it may be expensive on other architectures.
1999-06-01 03:40:12 +00:00
mark 29fe96b920 Guard inclusion of opt_cputypes.h. 1999-06-01 03:37:02 +00:00
briggs 0ff3b0087c Add debug routine as an aid for working out new nubus cards. 1999-06-01 03:26:42 +00:00
briggs 5e28d99a64 Add define for another ethernet card (Nuvolink)
Wrap nubus_scan_slot() prototype in #ifdef DEBUG.
1999-06-01 03:24:25 +00:00
perseant 88207e0cba Fixed lfs_update (and related functions) so that calls from lfs_fsync
will DTRT with vnodes marked VDIROP.  In particular, the message
"flushing VDIROP" will no longer appear, and the filesystem will remain
stable in the event of a crash.

This was particularly a problem with NFS-exported LFSes, since fsync
was called on every file close.
1999-06-01 03:00:40 +00:00
briggs 42d2797a4b Comment out DISABLE_EXT_CACHE as it unnecessarily slows down the IIci
w/ external cache.  Leave it around so the paranoid can still use it.
1999-06-01 02:39:25 +00:00
lukem 6a62a9cff3 sanity check bufcache before using it 1999-06-01 00:40:48 +00:00
mrg 2332079d3f unlock the map for unknown arguments to uvm_map_advise. from Soren S. Jorvang in PR kern/7681 1999-05-31 23:36:23 +00:00
ross a1c15a355d In PMAP_ISACTIVE(), check curproc->p_vmspace before using it; this macro
is called early in startup, long before p_vmspace is set to &vmspace0.
1999-05-31 20:49:00 +00:00
ross 4313734913 After some banging and bashing, commit Jason's new ddb traceback code. 1999-05-31 20:42:15 +00:00
ross 604d4df11e Convert to traceback-friendly temporary labels. 1999-05-31 20:40:23 +00:00
ross ffc59b8bad Be less drastic when running strip(1) on DEBUG=-g kernels. 1999-05-31 18:54:49 +00:00
minoura db782f7c11 First attempt to implement PMAP_NEW interface.
The code was mostly written before the pmap_k* inconsistency fixes.
Work around might still remain.  Should be removed.
1999-05-31 14:39:13 +00:00
lukem 7d44fa2e6e * use format_bytes() to display the disk size
* wrap a couple of printf()s
1999-05-31 12:05:39 +00:00
nisimura 8286166c86 - Call _splnone() explicitely after auto config. was well done to make
sure SOFT_INTs cleared before interrupt processing is started.
1999-05-31 07:42:56 +00:00
ross 66ffb4e4d6 New format modifier: `L' gives true `long' vs `l' or `legacy' long. 1999-05-31 06:53:45 +00:00
ross 6b3d12f44a Calculate what sp would have been and save it in otherwise-unused
FRAME_SP slot if entering ddb.
1999-05-31 06:41:39 +00:00
nisimura fad2c4c762 - A little attention for TLBUpdate(). 1999-05-31 06:10:32 +00:00
ross d3df2008f1 Fix generation of locore.s dependencies. 1999-05-31 02:46:17 +00:00
eeh b14c7f77cb Garbage collect. 1999-05-31 00:14:00 +00:00
eeh 07d5dfdd7b Fix some bugs in some more of those asm macros. 1999-05-31 00:13:16 +00:00
briggs f3d8507abd PR 7021 from Yoshihisa Sugimoto <sugimoto@sums.shiga-med.ac.jp>:
Clear interrupt properly on the RasterOps 24XLTV.  Same as the 24LX.
1999-05-30 21:43:19 +00:00
is 2e63d78d8b Support for a ... somewhat strange method of doing >512 byte/block
ADOSFS partitions. By Matthias Scheler via PR 2559. A diagnostic
check was updated by myself.
1999-05-30 21:21:36 +00:00
christos b4bf637a41 Don't let bd.which be unitialized... Thanks Dave! 1999-05-30 21:13:04 +00:00
briggs 59422960ea PR 7220 from Ken Nakata:
I've fixed most (not all) m68k FPE bugs that give bogus
calculation results, esp. fsqrt instruction.  Also, the internal FP
representation has been reduced from 115-bit mantissa to 67-bit
mantissa which reduced the required mantissa operation roughly by one
fourth.  I've done an extensive (though not exhaustive - it's
impossible!) test on the internal routines by feeding them randomly
generated FP numbers, and found that the new code is more precise than
MC68040 FPU (it seems to have a rounding bug).

[ Only change was to keep fpu_calcea.c's name instead of renaming to
  fpu_ea.c in Ken's patch.  --akb ]
1999-05-30 20:17:48 +00:00
eeh 64b891fc8d Add code to support using %tick as the system clock if no "counter-timer" node
is found.
1999-05-30 19:13:33 +00:00
eeh cd53dbd506 Re-write ASI load/stores to use full 64-bit addresses so we can use device
register addresses with MMU bypass ASIs.
1999-05-30 19:11:33 +00:00
eeh c2f2c064c0 Make pmap_enter() handle little-endian mappings properly. 1999-05-30 19:01:50 +00:00
eeh de1ba9c829 Grab real locks from the sparc port. I suppose we could use casa and casx
instead of ldstub, but since we aren't doing n-way locking it makes little
difference.  N.B. Need to decide what to do with sparc64/sparc64/asm.h which
has name conflicts with sparc64/include/asm.h.  So far most of
sparc64/sparc64/asm.h has been moved to ctlreg.h.
1999-05-30 18:57:27 +00:00
eeh dafdd170d7 Handle little-endian mapin requests. 1999-05-30 18:52:51 +00:00
mrg 01849b81ca allow the kernel to link with no arp (ether) devices 1999-05-30 07:36:28 +00:00
christos 8567d6cad0 PR/7665: Dave Sainty: X server bell pitch setting doesn't reflect reality
Applied with a little more error checking.
1999-05-30 04:21:29 +00:00
mrg 1b384c6911 clone intr.h from the SPARC. 1999-05-30 02:37:10 +00:00
bad 6b30aed924 Fix thinko of mine in previous. The source route info is not at m->m_data
after various m_adj()s have been done.  Kludge around this with a cheesy
macro that knows where the drivers put the mac header in the first mbuf.

XXX There should be a better way to do this.
1999-05-30 00:39:07 +00:00
nathanw 70e38aa504 Fix bug uncovered by audio.c fix: Since the monitor control on the ESS
is a muting control, not a level control, change the name to reflect that.

XXX The fact that the audio code depends on the string names of the
XXX mixer devices is bogus.
1999-05-30 00:22:59 +00:00
nathanw 9e14ee3c6e Fix two small bugs:
(1) Fix sense of a strcmp() test so that the monitor subdevice of the
    mixer is properly identified.
(2) Use hw_if->set_port() instead of hw_if->get_port() when changinh
    the monitor level in audiosetinfo().

Fixes PR kern/7661.
1999-05-30 00:21:08 +00:00
bad 4df5ccb1f6 Now that the ARP code doesn't assume that m_pktdat[0] is the start of the
packet(!) we can enable the code that aligns the struct token_header at the
start of the mbuf.
1999-05-29 22:44:11 +00:00
bad 0b3a9f9e00 Don't assume the Token-Ring source route is in the m_pktdat. Use
m_data instead.  This isn't a problem with ARP packets but is correct
way to this.

Noticed by pmara@cactus.org (Shashi Mara).
1999-05-29 22:36:07 +00:00
ragge a03c17e53b Copied from ../../arch/vax/mscp/mscpvar.h,v 1999-05-29 19:13:04 +00:00
ragge 14ef56958a Copied from ../../arch/vax/mscp/mscpreg.h,v 1999-05-29 19:12:53 +00:00
ragge 870031c90a Copied from ../../arch/vax/mscp/mscp_tape.c,v 1999-05-29 19:12:42 +00:00
ragge bf0ac446d2 Copied from ../../arch/vax/mscp/mscp_subr.c,v 1999-05-29 19:11:52 +00:00
ragge 29cdff1acd Copied from ../../arch/vax/mscp/mscp_disk.c,v 1999-05-29 19:11:41 +00:00
ragge 6c8c62c541 Copied from ../../arch/vax/mscp/mscp.h,v 1999-05-29 19:11:16 +00:00
ragge bf16b9271a Copied from ../../arch/vax/mscp/mscp.c,v 1999-05-29 19:11:02 +00:00
ragge 39e7e58401 Copied from ../../arch/vax/mscp/files.mscp,v 1999-05-29 19:10:52 +00:00
kleink b570b54662 Use BYTE_ORDER do determine the endianness, rather than an (incomplete) check
for the machine architecture.
1999-05-29 17:14:27 +00:00
ragge 206d37083c Copied from ../../arch/vax/uba/uda.c,v 1999-05-29 17:03:17 +00:00
nisimura ce19767c8b - Make a modification to reduce the cost of TLBmod exception handling.
TLBUpdate() routine is used for dual purposes.  In TLBmod case, just ok
to call 'tlbwi' (as designed).  Result in saving of extraneous execution
path.  MIPS1 only this moment.
1999-05-29 09:38:28 +00:00
nisimura fcd9e7edb9 - Correct uninitialized pointer issue I made.
- Put a comment why the original prodtype detection logic made no trouble.
1999-05-29 09:31:02 +00:00
mrg 58aa48a579 regen. 1999-05-29 07:12:11 +00:00
simonb 59dfa57be9 Move initialisation of ioasic_base to dec_3maxplus_init() - it is used
in this function before dec_3maxplus_os_init() gets called.
1999-05-29 07:10:36 +00:00
mrg 5dfbc15479 fix error in previous. 1999-05-29 07:10:33 +00:00
mrg 3f99c8bd11 regen. 1999-05-29 07:08:52 +00:00
mrg a250615a3b s/bus/bridge/ for the sun pci bridges. my bad. 1999-05-29 07:07:51 +00:00
fvdl 06019caad8 Recognize 900B-TPC. From Robert Elz. 1999-05-29 01:31:17 +00:00
fvdl 8a6bddab08 Regen. 1999-05-29 01:29:21 +00:00
fvdl 0ca37269fb Add 3c900B-TPC product ID. From Robert Elz. 1999-05-29 01:28:52 +00:00
fvdl 5958c68bc5 Be more correct with attribute structures for setattr RPCs and friends,
so that picky servers (e.g. Solaris 7) don't refuse our requests. Move
some code into a macro, and a bit of KNF. From OpenBSD.
1999-05-29 01:22:03 +00:00
thorpej dbc1dd921a Clone vmapbuf() and vunmapbuf() from the Alpha port. 1999-05-28 22:59:40 +00:00
thorpej fb36fe649a A little spring cleaning in the unwire case of uvm_map_pageable(). 1999-05-28 22:54:12 +00:00
thorpej 8d8badbd8f Make uvm_fault_unwire() take a vm_map_t, rather than a pmap_t, for
consistency.  Use this opportunity for checking for intrsafe map use
in this routine (which is illegal).
1999-05-28 20:49:51 +00:00
thorpej 108b13d5a9 Make "intrsafe" maps locked only by exclusive spin locks, never sleep
locks (and thus, never shared locks).  Move the "set/clear recursive"
functions to uvm_map.c, which is the only placed they're used (and
they should go away anyhow).  Delete some unused cruft.
1999-05-28 20:31:42 +00:00
ragge 542c5517c5 The DHU code changed to use bus_space.
XXX - still need to use bus_dma.
1999-05-28 20:17:29 +00:00
thorpej e50ef977d1 Don't use a read lock on an intrsafe map; these maps can only use exclusive,
non-sleeping locks.
1999-05-28 19:40:09 +00:00
cgd bb7cdd7c0b don't bother initializing 'freelist' -- it can be bss 1999-05-28 19:31:51 +00:00
ragge 545a67b8d9 Copied from ../../arch/vax/uba/dhureg.h,v 1999-05-28 18:56:57 +00:00
ragge c0777d0846 Copied from ../../arch/vax/uba/dhu.c,v 1999-05-28 18:56:41 +00:00
mark 8885cdd879 Implement a workaround in initarm() for a problem that stopped ARM610
and some ARM710 processors from completing their initial bootstrap.
Fixes PR7595.
1999-05-28 09:59:31 +00:00
simonb f62bb2b791 Add CD9660 filesystem - useful for installing from CD-ROMs :-) 1999-05-28 08:07:12 +00:00
nisimura d116bc4a0d - Make this compilable with MIPS1 or MIPS3 only configuration. 1999-05-28 07:23:38 +00:00
cgd 3da80f5ebd don't vrele a bogus pointer if the namei() of the loader fails 1999-05-28 04:39:14 +00:00
thorpej 5920638afe Change the main comment block to indicate why PMAP_NEW (specifically,
pmap_kenter*()) is not required for {O,A}->K page loans.
1999-05-27 21:50:03 +00:00
ragge 50b4144943 Moved from ../dec/qbus/ubavar.h,v 1999-05-27 16:04:48 +00:00
ragge 708904c240 Moved to ubavar.h,v 1999-05-27 16:04:47 +00:00
ragge 6fa26360b3 Moved to ubareg.h,v 1999-05-27 16:04:28 +00:00
ragge 72cc499b27 Moved from ../dec/qbus/ubareg.h,v 1999-05-27 16:04:27 +00:00
ragge 24a2d9159f Moved to uba.c,v 1999-05-27 16:04:14 +00:00
ragge 466e9982c9 Moved from ../dec/qbus/uba.c,v 1999-05-27 16:04:13 +00:00
ragge 3a1ea0ce2f Moved from ../dec/qbus/files.uba,v 1999-05-27 16:03:57 +00:00
ragge ea56e2d6a7 Moved to files.uba,v 1999-05-27 16:03:56 +00:00
ragge a9f8e269bc Moved from ../dec/qbus/dzvar.h,v 1999-05-27 16:03:41 +00:00
ragge 607566ab67 Moved to dzvar.h,v 1999-05-27 16:03:40 +00:00
ragge fad3ee0de4 Moved from ../dec/qbus/dzreg.h,v 1999-05-27 16:03:13 +00:00
ragge fd1e7f64df Moved to dzreg.h,v 1999-05-27 16:03:12 +00:00
ragge ca5b486e0b Moved from ../dec/qbus/dz_uba.c,v 1999-05-27 16:02:50 +00:00
ragge 0377900670 Moved to dz_uba.c,v 1999-05-27 16:02:49 +00:00
ragge ae0c1db46f Moved to dz.c,v 1999-05-27 16:02:33 +00:00
ragge 4da3a5fea9 Moved from ../dec/qbus/dz.c,v 1999-05-27 16:02:32 +00:00
ragge e9a34e1482 Moved from ../dec/qbus/dlreg.h,v 1999-05-27 16:02:04 +00:00
ragge fecbb5dd59 Moved to dlreg.h,v 1999-05-27 16:02:03 +00:00
ragge 1506452890 Moved from ../dec/qbus/dl.c,v 1999-05-27 16:00:45 +00:00
ragge 547475d08e Moved to dl.c,v 1999-05-27 16:00:44 +00:00
pk 61e5d73035 Fix bus_size_t/size_t/int confusion. 1999-05-27 14:22:28 +00:00
pk 0953844306 Casts to match `%d' in printf format. 1999-05-27 14:20:10 +00:00
pk 69b216aefe `xmit' & `recv' return `ssize_t' 1999-05-27 14:04:25 +00:00
pk bd84136493 copyinst() takes a `size_t *'. 1999-05-27 14:03:05 +00:00
tron c0567a6bc7 Add support for SETALL and GETALL to the Linux emulation of semctl()
and improve handling of SETVAL. Patches supplied by YAMAMOTO Jiro in
PR kern/7621.
1999-05-27 13:30:40 +00:00
bouyer b87dbb8918 in cdclose(), ignore "media change" when calling scsipi_prevent(), after
a 'eject -l' some ATAPI drives report this instead of illegal request.
1999-05-27 11:19:04 +00:00
bouyer cc46db1ba6 For the PIIX, make sure the PIO_mode and DMA_mode get reset to the values used
by the controller for all drives.
1999-05-27 09:45:50 +00:00
leo 88efdc6951 Add support for the memory on the CT2 board. Info from Thomas Goirand. 1999-05-27 09:08:25 +00:00
mark ccb5b09c4f Grr. Nuke the remaining allocsys() prototypes. 1999-05-27 09:08:09 +00:00
mark 99804cc3e7 Nuke old prototype of allocsys(). 1999-05-27 09:04:11 +00:00
nisimura 9b5cf7b4de - Save MIPS1 only configuration for 3min, pointed by Erik Bertelsen
<erik@mediator.uni-c.dk>
1999-05-27 06:43:50 +00:00
ragge f558ec11e2 Directory called qbus instead of uba, per request from Matt/Jason/...
(More describing name actually)
1999-05-27 03:45:21 +00:00
mrg c346b0ace0 regen. 1999-05-27 03:05:32 +00:00
mrg 8c83c41668 add the UltraSPARC IIi PCI interface 1999-05-27 02:51:19 +00:00
nisimura 58cf81db34 - Change a symbolic name of TLB entrylo from 'PG_M' to 'PG_D' to reflect
processor design.  MIPS 'dirty bit' is not the same as i386 'dirty bit'.
There is a growing concern of misuse in NetBSD/mips.
1999-05-27 01:56:32 +00:00
thorpej 80de1e9903 Upon further investigation, in uvm_map_pageable(), entry->protection is the
right access_type to pass to uvm_fault_wire().  This way, if the entry has
VM_PROT_WRITE, and the entry is marked COW, the copy will happen immediately
in uvm_fault(), as if the access were performed.
1999-05-26 23:53:48 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
thorpej 6b655611b1 Wired kernel mappings are wired; pass VM_PROT_READ|VM_PROT_WRITE for
access_type to pmap_enter() to ensure that when these mappings are accessed,
possibly in interrupt context, that they won't cause mod/ref emulation
page faults.
1999-05-26 19:27:49 +00:00
thorpej 985f839e63 Add a comment explaining why INTRSAFE isn't needed here. 1999-05-26 19:23:13 +00:00
thorpej 2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
leo 48627f3c5d Make this compile again. I assumed that the use of 'format_memory()' was
an error? Made it use format_bytes()....
1999-05-26 14:29:34 +00:00
thorpej 00a1f75cf6 In uvm_pagermapin(), pass VM_PROT_READ|VM_PROT_WRITE as access_type, to
ensure we don't take mod/ref emulation faults in an interrupt context
(e.g. during the i/o operation).  This is safe because:
	- For a pageout operation, the page is already known to be
	  modified, and the pagedaemon will pmap_clear_modify() after
	  the pageout has completed.
	- For a pagein operation, pagers must already pmap_clear_modify()
	  after the pagein operation is complete, because the i/o may have
	  been done with e.g. programmed i/o.
XXX It would be nice to know the i/o direction so that we can call
XXX pmap_enter() with only the protection and access_type necessary.
1999-05-26 06:42:57 +00:00
cgd 5dd4815be9 uh, get the port name consistently correct (NetBSD/alpha, not NetBSD/Alpha) 1999-05-26 06:22:03 +00:00
nisimura 1922144399 - Remove now obsolete function declaration. 1999-05-26 04:27:27 +00:00
nisimura d7a56fd7fa - Continue on branch merge, incrementally.
- Catch up filename changes escaped to be fixed.
1999-05-26 04:23:58 +00:00
ragge 12b6c6d04f DL-11 driver bus'ified. UNTESTED. 1999-05-26 02:01:49 +00:00
ragge e805bfec25 DZ-11 routines bus'ified. Small fixes to uba routines. 1999-05-26 01:26:17 +00:00
thorpej 88214f79d2 Pass the appropriate access type for uvm_vslock() based on the FP operation:
fpread == VM_PROT_READ|VM_PROT_WRITE, fpwrite == VM_PROT_READ.
1999-05-26 01:09:02 +00:00
thorpej 701868a6c8 Pass the appropriate access_type to uvm_vslock() for the given physio
operation: B_READ == VM_PROT_READ|VM_PROT_WRITE, B_WRITE == VM_PROT_READ.
1999-05-26 01:08:03 +00:00
thorpej 497248ca55 XXX Pass VM_PROT_NONE to uvm_vslock() as access_type. Why are we even
vslocking here?!  copyout() on its own seems to suffice just about everwhere
else, and it's not like the process is going to exit; it's in a system
call!
1999-05-26 01:07:06 +00:00
thorpej b2e9c635ec Pass an access_type to uvm_vslock(). 1999-05-26 01:05:24 +00:00
thorpej 40aacb6eb5 No longer need to pmap_modified_emulation() in cpu_swapin(), since
uvm_fault_wire() does the right thing with access_type.

XXX Was there a bug here?  pmap_modified_emulation() *wasn't* done in
XXX cpu_fork()!!
1999-05-26 00:40:20 +00:00
thorpej 32de988d29 No longer need to pmap_emulate_reference() in cpu_fork() or cpu_swapin(),
since uvm_fault_wire() does the right thing with access_type.
1999-05-26 00:37:40 +00:00
thorpej 7b4db806b6 In uvm_map_pageable(), pass VM_PROT_NONE as access type to uvm_fault_wire()
for now.  XXX This needs to be reexamined.
1999-05-26 00:36:53 +00:00
thorpej 9d0ea0969e - uvm_fork()/uvm_swapin(): pass VM_PROT_READ|VM_PROT_WRITE access_type
to uvm_fault_wire(), to guarantee that the kernel stacks will not
  cause even a mod/ref emulation fault.
- uvm_vslock(): pass VM_PROT_NONE until this function is updated.
1999-05-26 00:33:52 +00:00
thorpej 195c1a2741 Pass an access_type to uvm_fault_wire(), which it forwards on to
uvm_fault().
1999-05-26 00:32:42 +00:00
thorpej 5b897f96c5 msgbuf doesn't need VM_PROT_EXEC. 1999-05-25 23:31:14 +00:00
thorpej ed0aee1190 When mapping bus space, we can use pmap_kenter_pa(), since the pages
are never managed.
1999-05-25 23:30:27 +00:00
thorpej 774ceea703 msgbuf doesn't need VM_PROT_EXEC, biostramp does. 1999-05-25 23:19:00 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
thorpej f197609d93 Add some DIAGNOSTIC checks for inconsistent use of pmap_enter/pmap_kremove. 1999-05-25 20:33:33 +00:00
thorpej 986c3eca39 Fix some major locking protocol issues related to pmap_kremove() having
to deal with PG_PVLIST mappings; it no longer has to.  Add some DIAGNOSTIC
checks for inconsistent use of pmap_enter/pmap_kremove.
1999-05-25 20:32:29 +00:00
thorpej 0ff8d3ac1a Define a new kernel object type, "intrsafe", which are used for objects
which can be used in an interrupt context.  Use pmap_kenter*() and
pmap_kremove() only for mappings owned by these objects.

Fixes some locking protocol issues related to MP support, and eliminates
all of the pmap_enter vs. pmap_kremove inconsistencies.
1999-05-25 20:30:08 +00:00
nisimura fec53c08d6 - Use dev_name2blk[] array prepared by config(8) instead of handcrafting
local data.
1999-05-25 09:32:27 +00:00
nisimura 058f5a1517 - Continue to import a development branch.
- Minor formatting fix.
1999-05-25 07:37:08 +00:00
nisimura 014ba724c0 - Rework spl(9) implementation. Use _spl*() processor mask manipulating
routines now reside in locore.S.  No functional difference is expected.
- Replace abused splx() abuse with _splset() to change MIPS processor
interrupt mask bit.  'mips/trap.c' side will be fixed soon.
1999-05-25 04:17:57 +00:00
thorpej 789c9e7c48 Add a comment explaining why using pmap_kenter_pa() is safe here. 1999-05-25 01:34:13 +00:00
tron bb5689beb3 Only attempt to remove symbol table from DDB's lists of symbol tables
if we really loaded one.
1999-05-25 00:16:08 +00:00
thorpej 85f8d1343c Macro'ize the test for "object is a kernel object". 1999-05-25 00:09:00 +00:00
thorpej 9b731fd45c Remove a comment in uvm_pager_dropcluster() about PMAP_NEW and mod/ref
attributes for the page; it no longer applies, since we don't use
pmap_kenter_pgs() anymore.
1999-05-24 23:36:23 +00:00
thorpej 7becac6b9a Don't use pmap_kenter_pgs() for entering pager_map mappings. The pages
are still owned by the object which is paging, and so the test for a kernel
object in uvm_unmap_remove() will cause pmap_remove() to be used instead
of pmap_kremove().

This was a MAJOR source of pmap_remove() vs pmap_kremove() inconsistency
(which caused the busted kernel pmap statistics, and a cause of much
locking hair on MP systems).
1999-05-24 23:30:44 +00:00
tron a602deb000 Silently ignore attributes modifications on directories. Fixes
PR kern/7630 by Markus Kurek.
1999-05-24 23:01:13 +00:00
thorpej cba22525ce Fix some broken packet length checks. Really (no, I mean really) works now
after the ether_input() changes -- tested on my Quadra 650.
1999-05-24 21:53:42 +00:00