Commit Graph

59252 Commits

Author SHA1 Message Date
bsh 7b6639153c make atomic_{set,clear}_bit() inline for arm32 ports, and
add <machine/atomic.h> for them.
2002-10-19 12:22:33 +00:00
scw 7feac76e17 Tick off a few more items, and add a new one. 2002-10-19 11:13:11 +00:00
scw 873eee59ff Add fast assembler versions of in_cksum() and in4_cksum().
(Well, as fast as can be expected on a cpu with no carry flag)
2002-10-19 09:01:44 +00:00
scw 80b7fbca17 Ditch the crude and slow bytewise copyin()/copyout()/kcopy() code in favour
of the asm memcpy() in libkern.
2002-10-19 08:56:45 +00:00
scw 921743eed1 Fix a sign-extension botch for ILP32. 2002-10-19 08:54:23 +00:00
scw 0e1af8ca62 Doh. Bail out early if we're passed a zero-length buffer. 2002-10-19 08:53:45 +00:00
scw 1e0542ac19 Fix a spurious looping PC/FP message when we stop due to not finding
the caller's stack frame.
2002-10-19 08:50:30 +00:00
scw c01b319dcc There seem to be some stability problems with the scif serial port driver
at the moment, possibly as a side-effect of some yet-to-be-committed SH5
speed-ups.

Work-around it for now by using com0 as the console.
2002-10-19 08:43:32 +00:00
scw 472a1ad6b2 When setting up to probe a com(4) port for use as the console, make sure
the port is powered up and configured correctly.
2002-10-19 08:39:50 +00:00
junyoung abbf53bb9c Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-19 05:58:25 +00:00
junyoung 7e4d58b1b8 Move NEW_BUFQ_STRATEGY to misc options section. 2002-10-19 05:55:09 +00:00
bjh21 a531a4ae8e Undo recent cpu_switch register usage changes in order to decrease nathanw_sa
merge pain.
2002-10-19 00:10:53 +00:00
mjacob 3e9f96217e Remove ISP_DMA_ADDR_T as a 'type'. Instead, go off of whether
ISP_DAC_SUPPORTED is defined and do a real typedef for the size
of DMA addresses. ISP_DAC_SUPPORTED also decides how much of any
particular DMA address is significant.

Lose STRNCAT over the side.

Add in (sight unseen) 10160 support.
2002-10-18 23:35:25 +00:00
mjacob eaf36bcbb5 Add some A64 related support. 2002-10-18 23:33:39 +00:00
mjacob af03ded9f1 Some lint fixes. 2002-10-18 23:33:14 +00:00
mjacob efd47c5c46 Slight cleanup to use ISP_MUSTPOLL macro in case we can ever fix the
issue about knowing when we're on the interrupt stack or not.
2002-10-18 23:32:53 +00:00
mjacob c4e94625c8 Fix buglet in structure canonicalization of A64 commands. 2002-10-18 23:32:08 +00:00
mjacob c58e841e1e Add in (sight unseen) 10160 support.
Start doing the work necessary to support DAC (Dual Address Cycle)
environments. This allows for direct DMA to > 4GB memory from a PCI
card.

Lose STRNCAT over the side and use SNPRINTF instead.
2002-10-18 23:31:11 +00:00
mjacob ce9eb51cc5 Put in, sight unseen, changes which should enable 10160 support.
Interestingly enough, Sun actually made a product out of the 10160,
which is a single channel variant of the 12160 (Ultra3) card.
2002-10-18 23:26:15 +00:00
mjacob 0d0c2f5911 Update to the latest Fibre Channel f/w from the QLogic intranet site.
Fixes beaucoup bugs.
2002-10-18 23:19:20 +00:00
bjh21 7dd8880e90 The grand cpu_switch register reshuffle!
In particular, use r8 to hold the old process, and r7 for medium-term
scratch, saving r0-r3 for things we don't need saved over function
calls.  This gets rid of five register-to-register MOVs.
2002-10-18 23:06:33 +00:00
bjh21 3d1b6867f0 In cpu_switch(), stack more registers at the start of the function,
and hence save fewer into the PCB.  This should give me enough free
registers in cpu_switch to tidy things up and support MULTIPROCESSOR
properly.  While we're here, make the stacked registers into an
APCS stack frame, so that DDB backtraces through cpu_switch() will
work.

This also affects cpu_fork(), which has to fabricate a switchframe and
PCB for the new process.
2002-10-18 21:32:57 +00:00
wrstuden 0ce4a385a5 Should have done this sooner. Bump to version 1.7 to indicate good
alloc.c.
2002-10-18 21:22:40 +00:00
thorpej c96a6edaf4 Make sure the footbridge device has the interface attribute. 2002-10-18 20:03:02 +00:00
nathanw c1cc872908 Catch up some code inside #ifdef DEBUG to recent pvo_entry changes. 2002-10-18 20:02:23 +00:00
tsutsui 88590b41ed Add (commented out) options NEW_BUFQ_STRATEGY and pseudo-device cgd.
(sync with GENERIC)
2002-10-18 19:30:03 +00:00
thorpej ae19c3c263 nfs_remove(): Don't vput() the vnode twice if vp == dvp, vrele() and
vput() instead.
2002-10-18 19:08:15 +00:00
junyoung e4b7588c28 Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-18 15:11:08 +00:00
junyoung cc537c2f3a Add option NEW_BUFQ_STRATEGY, a new buffer queue strategy for better
system responsiness under high disk I/O load.

OK'ed by Juergen Hannken-Illjes.
2002-10-18 14:31:10 +00:00
atatat 94ef8e0795 Add an implementation of forward merging of new map entries. Most new
allocations can be merged either forwards or backwards, meaning no new
entries will be added to the list, and some can even be merged in both
directions, resulting in a surplus entry.

This code typically reduces the number of map entries in the
kernel_map by an order of magnitude or more.  It also makes possible
recovery from the pathological case of "5000 processes created and
then killed", which leaves behind a large number of map entries.

The only forward merge case not covered is the instance of an amap
that has to be extended backwards (WIP).  Note that this only affects
processes, not the kernel (the kernel doesn't use amaps), and that
merge opportunities like this come up *very* rarely, if at all.  Eg,
after being up for eight days, I see only three failures in this
regard, and even those are most likely due to programs I'm developing
to exercise this case.

Code reviewed by thorpej, matt, christos, mrg, chuq, chuck, perry,
tls, and probably others.  I'd like to thank my mother, the Hollywood
Foreign Press...
2002-10-18 13:18:42 +00:00
scw a7be530a95 Add code to support tracing back through a stackframe which was created
using a "movi imm, Rn / sub R15, RN, R15" pair. This is how the compiler
creates frames which are too big to fit in the immediate field of "addi";
something which happens a lot with -O0 ...

While I'm here, add a simple heuristic to detect infinite loops caused by
tracing back through some non-leaf asm routines which don't set up frames.
2002-10-18 09:16:14 +00:00
oster 2eecfbf479 Improve and/or re-arrange a number of locks. While much of the locking is
still a mess, and there are a number of unresolved issues here, this
gets us closer to being happier in LOCKDEBUG land.
2002-10-18 02:46:36 +00:00
grant f525c02fbe remove 'UT' from fxp and rtk, as these have been tested and known
to work. some whitespace cleanup.
2002-10-18 01:59:27 +00:00
grant c571e22b48 add comment about pciide and wd flags (from i386 GENERIC). 2002-10-18 01:54:15 +00:00
yamt 8872a5d6af make sure to update the vnode's size even if uiomove failed.
otherwise, softdep states can't be flushed later.

ok'ed by Chuck Silvers. fix PR/16670.
2002-10-18 01:05:52 +00:00
yamt b4890b32a7 regen; fix simple typos 2002-10-18 00:59:11 +00:00
yamt 2e29ebca4d fix typos; "wiseman" is 82542, not 82452. 2002-10-18 00:56:16 +00:00
yamt dcde342d09 add an entry for 0x83 to intel_cpuid_cache_info. 2002-10-18 00:51:22 +00:00
thorpej b000f2251b * Add "struct device" to the softc.
* Add missing notice.

Problems pointed out by Jonathan Stone.
2002-10-17 22:03:40 +00:00
scw 99ad3a762b Add native optimised assembler versions of some libkern routines.
The memcpy routine is courtesy of SuperH, with some tweaks by me.

XXX: There is room for further optimisation in some of these routines.
2002-10-17 11:53:32 +00:00
fair 8459c79958 Change the "dontcare" bits argument of ifmedia_init() to IFM_IMASK,
so that PHY instance is not siginificant in ifmedia_match(). This
is done to support multiple PHYs on the MII. Without this change,
ifmedia_set() would panic the system when no PHYs were matched.

I ran into this on an AMD EasyNow PC, which is built around SiS
system chips with an embedded SiS 900 core, and an external AMD
Am79c901 PHY, which presents two PHYs on the MII: one for HomePNA,
and one for standard 10base-T. The 10base-T PHY ends up with instance
number 1...
2002-10-17 01:17:30 +00:00
itojun 5fc1c3b058 do not differentiate manually configured address from autoconfigured ones
wrt prefix management;
- always earn a reference to the prefix when an address is configured
 (by ioctl).
- always delete the prefix when an address that has the last referene
  is manually removed.

The change should solve the problem raised in KAME-snap 6989.

sync w/kame
2002-10-17 00:07:44 +00:00
jdolecek 3a80cf174b initSH3(): prefix the extern edata[], end[] with '_', so that the kernel links
XXX this is probably wrong, other sh3 platforms don't need/have this
2002-10-16 21:26:32 +00:00
jdolecek 4f2f1a6fd4 match the joystick device on Creative SBLive! card; note this only works
when emuxki(4) driver is compiled into the kernel, it has to enable
the joystick port
2002-10-16 21:09:31 +00:00
jdolecek cafbd6033f for AUDIO_SETINFO, silently enforce same mode as the currently used one;
this value is supposed to be read-only for this ioctl
2002-10-16 21:07:08 +00:00
jdolecek e7bc7ac4bd tsc_microtime(): use splclock() for !MULTIPROCESSOR (cosmetic, this is used
for MULTIPROCESSOR only currently)
2002-10-16 21:01:22 +00:00
mycroft 64f9a5eccd Fix a sign extension bug that caused pmap_growkernel() to fail with >2GB KVA.
Symptom observed and verified fixed by tls.
2002-10-16 18:48:05 +00:00
petrov d7612810f1 Add wscons devices, sync with sparc. 2002-10-16 17:52:09 +00:00
kent 56d5eaf4f4 Add all vendor/codec IDs which OpenBSD has and NetBSD doesn't have. 2002-10-16 16:38:25 +00:00
martin f47b939a22 Since we now use pmap_kenter_pa, which ignores PMAP_LITTLE, don't bother
to pass that as flags. We've already changed the ASIs used to access the
mapped pages acordingly.
2002-10-16 16:11:41 +00:00