Commit Graph

72219 Commits

Author SHA1 Message Date
thorpej e12f731db5 On the Alpha, interprocessor interrupts come in at the same priority
as normal device interrupts.  Because of this, we won't get IPIs while
servicing such interrupts.  This can lead to the following deadlock
scenario as reported by Bill Sommerfeld:
- Process runs on cpu1, but has FP state on cpu0.
- Process executes FP-using insn, causing an FP trap, which causes
  the kernel lock to be acquired.
- At roughly the same time, cpu0 receives a device interrupt, and attempts
  to acquire the kernel lock, which blocks since cpu1 already has it.
- cpu1 sends cpu0 a SYNCH FPU IPI, and waits for cpu0 to release its
  FP state.
- Since cpu0 cannot notice the IPI until it has processed the device
  interrupt, which it cannot do because it cannot acquire the kernel
  lock, we have deadlock.

Solve the problem by adding a spinlock interlock release hook which
checks for pending IPIs and processes them.

Idea from Bill Sommerfeld.
2000-11-20 20:17:13 +00:00
jdolecek 0630488eda fix typo 2000-11-20 20:07:36 +00:00
thorpej 3075dec01a Allow machine dependent code to specify a hook to be run when a
spinlock's interlock is released.

Idea from Bill Sommerfeld.
2000-11-20 20:04:49 +00:00
jdolecek 3b15e411a3 add moxa0 at isa entry, marked as experimental
This was not added also to other config files primarily because the
driver is not properly tested yet; this entry is primarily meant as an example
for those brave souls who want to try moxa.
2000-11-20 19:53:43 +00:00
scw b6f0a678dd Add support for the m68060-based machines: MVME-172 and MVME-177.
CPU support taken from a combination of NetBSD/amiga and NetBSD/x68k.

At this time, MVME-172 works but MVME-177 is untested. Since the '177
is otherwise identical to the MVME-167, this should *just work*.
2000-11-20 19:35:28 +00:00
jdolecek 1964a728da add moxa 2000-11-20 19:27:16 +00:00
thorpej fdfb847e3e Make ci_ipis volatile. 2000-11-20 19:25:43 +00:00
jdolecek c27af44fc0 Add an attachment for MOXA 168P isa multiport card. This code was
written by Christoph Badura.
This was reported to work by user of this code. It's not tested
by me, but it's probably more useful in tree anyway.
2000-11-20 19:24:39 +00:00
thorpej 7f059c8e69 Move IPI processing into a separate function. 2000-11-20 19:24:36 +00:00
christos 212627911f fix typo. 2000-11-20 17:48:05 +00:00
wiz e0fe90f71c Remove unneeded code (confirmed by christos). 2000-11-20 17:45:10 +00:00
christos fb16d6d0ec Add an example on how to use getopts, stolen from the getopt manual page :-) 2000-11-20 16:59:56 +00:00
thorpej 5a22e57dc3 Print the CPU ID while dumping trap info. 2000-11-20 15:33:39 +00:00
tsubai 11b48d8a4d Thermal Management Interrupt is available on 750, too. 2000-11-20 15:16:04 +00:00
is b002f5435b With RARP, MAC asks, and IP answers. Fixes PR 11330 by Thilo Manske, who
also provided the fix (modulo formatting).
2000-11-20 14:59:30 +00:00
tsutsui 2cd77d5700 Fix swapped keycode for '[' and ']'. 2000-11-20 14:55:15 +00:00
tron f8f9801395 Use empty string as default prefix so that e.g "/etc/spwd.db" is used
instead of "//etc/spwd.db".
2000-11-20 14:09:36 +00:00
fvdl c9366a8efe Fix reversed test. 2000-11-20 14:08:12 +00:00
onoe 2819c7b688 Use DMA from mbuf instead of copy in transmit.
Still use memcpy in receiving because we must use buffer fill mode
	and many packets may share single receive buffer.

XXX: Workaround(?) for CXD3222: it fails to DMA for selfid packet according
to code placement. I'm not sure about the reason (cache? timing? bug?).

Fixed the bug: transmitter sometimes stop and OACTIVE bit of if_fw
never be cleared.
Fixed the bug: freeing free buffer.

Enable ieee1394_drain and ieee1394_watchdog for loss of fragment.
2000-11-20 12:12:18 +00:00
pk bc229aa16a Set the md_upgrade_prep_needed flag.
Kill some typos.
2000-11-20 11:52:37 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
mason 18a6237381 s/usefull/useful/ 2000-11-20 06:42:05 +00:00
veego a174b8a595 simple_lock_held is only defined when you use LOCKDEBUG.
Put it for now in an ifdef LOCKDEBUG.
2000-11-20 06:36:02 +00:00
onoe 4e1e677996 regen.
CXD32222 -> CXD3222 (Sony OHCI Controller)
2000-11-20 06:23:13 +00:00
onoe e51b1f604e CXD32222 -> CXD3222 (Sony OHCI Controller) 2000-11-20 06:22:13 +00:00
matt c18fd403d1 Add __udiv_w_sdiv for VAX. gnupg requires it. And since it's a libgcc
function it makes sense to put it in libgcc.
2000-11-20 05:47:41 +00:00
wiz fb6c42da67 Re-integrate most changes done to amd in its old location (mostly
FORMAT_AUDIT related, and nits). (Thanks for the reminder, Jason!)
2000-11-20 03:19:33 +00:00
thorpej 2f1e131332 Delete a block of code that was intended to get the second
CPU to handle interrupts, but prevents a whole slew of things
from working properly on the second CPU.  It is no longer
necessary now that several other bugs have been fixed.
2000-11-20 03:15:15 +00:00
thorpej fe5b367ce6 In Idle(), only switch to the idle PCB if we're not already running
on it, and make sure to deactivate the old process's address space,
as this will not otherwise be done by cpu_switch() later once we're
on the idle PCB.

Also, update some comments related to when s0 (i.e. the old process)
is NULL in the context switching code.
2000-11-20 02:44:45 +00:00
soren 046ce58634 Enable com at cardbus. 2000-11-20 02:00:46 +00:00
wiz 20845d16f4 remove outdated comment 2000-11-20 01:58:43 +00:00
wiz c9669422d2 Make config_local.h more cross-compile safe. Thanks simonb! 2000-11-20 01:56:13 +00:00
simonb f104ee65be Add a sysctl_rdminstruct() function - same as sysctl_rdstruct() but
can return short data if *oldlenp is less than len.
2000-11-20 01:46:56 +00:00
wiz d53f0cf553 Fix thinko on my part (we do have setitimer). 2000-11-20 01:23:14 +00:00
wiz 94943a1a30 am-utils import script, based on bind2netbsd and consorts. 2000-11-20 00:52:32 +00:00
wiz 511edc4629 New config file for am-utils-6.0.4 2000-11-20 00:48:20 +00:00
wiz 98e25ea2e6 Install adapted config file instead of old one. 2000-11-20 00:47:10 +00:00
wiz 3819ccc8d0 Adapt config file example to am-utils-6.0.4. 2000-11-20 00:46:09 +00:00
wiz 432b495ff5 libamu minor got bumped to 2 2000-11-20 00:31:37 +00:00
wiz 0f1a444c28 restore ID tag (forgot removing $$) 2000-11-20 00:27:23 +00:00
wiz e5d9f656ce Replace old build structure with new reach-over one. 2000-11-20 00:24:41 +00:00
wiz 4f035159de Import of amd reach-over Makefiles for using the sources in dist/am-utils. 2000-11-20 00:16:18 +00:00
wiz 0d632f7ea0 Merge changes to previous version and some NetBSD tag differences. 2000-11-20 00:02:56 +00:00
wiz 8a09ffd10e Import of am-utils-6.0.4 source for reachover build.
Changes: quoted RCS Ids in all files, added NetBSD's own in most,
and removed some easily regenerated files in doc/.
(amd2netbsd script will follow soon.)
2000-11-19 23:42:08 +00:00
jdolecek 2faa9db8c1 cosmetic change in brand string handling (NULL vs. "")
drop Xeon from PIII Cascades entry, it should be handled by the brand id
support (pointed out by Scott Telford in private e-mail).
2000-11-19 23:38:22 +00:00
jdolecek 26fe6166ed check_pty(): simple_unlock() might have been called even if the lock was
not locked previously in some cases; unlock only if the lock is held
2000-11-19 22:34:56 +00:00
matt 95a8447ccf Add G4 specific exceptions (include AltiVec). 2000-11-19 20:48:20 +00:00
matt bb71a6b332 Add AltiVec VSCR definitions. 2000-11-19 20:41:04 +00:00
jdolecek b0074dd768 back out majority of rev 1.5, left stuff from rev. 1.5 is:
* () --> {} change
* removal of redundant explicit dependency 'asn1.h: asn1.hx'
2000-11-19 20:29:05 +00:00
christos 5135a422f1 Buffer overflow and environment passing fixes [originally inspired from
FreeBSD]. We really didn't need the environment fixes, but for the sake
of keeping the code as close as possible...
2000-11-19 20:17:39 +00:00