Commit Graph

30876 Commits

Author SHA1 Message Date
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