Eric Anholt [Fri, 14 Feb 2003 06:33:52 +0000 (06:33 +0000)]
Split the arch-specific AGP files into the appropriate files.* and do the same
for the agp module, and add agp to the list of modules to compile for alpha.
Add an alpha_mb() to agp_flush_cache for alpha -- it's not correct but may
improve the situation, and it's what linux and NetBSD do.
Warner Losh [Fri, 14 Feb 2003 06:21:51 +0000 (06:21 +0000)]
o transition from exca_write to exca_putb and read->getb. This is so that
we can have additional different types of bridges.
o remove now bogus comment.
o Don't clear CARD_OK when we can't attach a card.
o minor style nits
# this make kldload of cardbus drivers work for me when the card is
# present on boot.
Warner Losh [Fri, 14 Feb 2003 06:21:18 +0000 (06:21 +0000)]
Massive overhaul of exca to help with the isa efforts:
o chip_name arrays ifdef'd out.
o use the OLDCARD-like get/put functions so we can support differnt types
of mappings.
o Write the beggings of is this a valid exca device and introduce more
chipset support.
# this is partially a wip, but also needed because some other cahnges I've
# made require some of these changes.
- Though I got a feedback from the originator of kern/48129 that the
previous revision fixed the panic, I found the problem exits in
another part of the function by investigating the crom dump sent by him.
The search was started in the middle of bus info block and the
routine misunderstood the EUI64 as a crom entry. This problem is fixed.
PR: kern/48129
Fix incorrect type mask included in a logical unit number and check
the validity of the lun.
Alan Cox [Thu, 13 Feb 2003 19:39:54 +0000 (19:39 +0000)]
Use atomic ops to update amountpipekva. Amountpipekva represents the
total kernel virtual address space used by all pipes. It is, thus, outside
the scope of any individual pipe lock.
firewire/fwohci
- Drain fwohci TX queue first then drain xfer queue which has not started.
- Check validity of the received packet length.
- Don't allocate too large buffer for xfer receive buf.
sbp
- Fix panic for some CROM which doesn't have a text leaf.
This could fix the PR kern/48129 but no feedback has been gotten from
the originator yet.
- Put back some M_NOWAIT flags into malloc which could be called
in interrupt context for 4-stable.
Peter Wemm [Thu, 13 Feb 2003 02:42:06 +0000 (02:42 +0000)]
Oops. I mis-remembered about the P4 problems. It was 5.0-DP2 that
was shipped with DISABLE_PG_G and DISABLE_PSE, not 5.0-REL. *blush*
Disable the code - but still leave it there in case its still lurking.
Peter Wemm [Thu, 13 Feb 2003 01:00:26 +0000 (01:00 +0000)]
Show the paritition types that we recognize in human readable format. eg:
pluto2# gpt show da0
start end size contents
0 0 1 PMBR
1 1 1 Pri GPT header
2 33 32 Pri GPT table
34 401595 401562 GPT part - EFI System partition
401596 925883 524288 GPT part - FreeBSD ufs partition
925884 93144918388608 GPT part - FreeBSD swap partition
...
It'll print a plain uuid string for unrecognized types.
Simplify the log accumulation code. It turns out that the trick of
looking for ^===> can give quite annoying false positives, especially
when building kernels, so drop it; the context can be inferred from
make's "Stop in /foo/bar/baz" messages anyway.
Also add a case that I'd missed the first time around (which happens
to be the common case, not the exception...)
Mike Barcroft [Wed, 12 Feb 2003 20:03:41 +0000 (20:03 +0000)]
o Implement C99 classification macros isfinite(), isinf(), isnan(),
isnormal(). The current isinf() and isnan() are perserved for
binary compatibility with 5.0, but new programs will use the macros.
o Implement C99 comparison macros isgreater(), isgreaterequal(),
isless(), islessequal(), islessgreater(), isunordered().
Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU>
Peter Wemm [Wed, 12 Feb 2003 19:34:34 +0000 (19:34 +0000)]
Do not do an assignment in a truth test (previous commit) or gcc gives a
warning which breaks builds.
cc1: warnings being treated as errors
src/sys/net/bridge.c: In function `bdg_forward':
sys/net/bridge.c:931: warning: suggest parentheses around assignment used as truth value
*** Error code 1
Implement a handle for efficient implementation of perforations in
lower extremities.
Setting bit 4 in debugflags (sysctl kern.geom.debugflags=16) will
allow any open to succeed on rank#1 providers. This will generally
correspond to the physical disk devices: ad0, da0, md0 etc.
This fundamentally violates the mechanics of GEOMs autoconfiguration,
and is only provided as a debugging facility, so obviously error
reports on GEOM where this bit is or has been set will not be
accepted.
Warner Losh [Wed, 12 Feb 2003 06:11:47 +0000 (06:11 +0000)]
MF-p4:
Kill the slightly bogus #define for DECODE_PROTOTYPE
Be less verbose. Hide most (all I hope) of the CIS
parsing behind cardbus_debug_cis (which is set with
hw.cardbus.debug_cis=1).
This doesn't fix problems with parsing, but should make cardbus
less chatty. There appears to be some issues still with the
parsing of the CIS, but this won't fix them.
Warner Losh [Wed, 12 Feb 2003 05:57:02 +0000 (05:57 +0000)]
MFp4:
Second part of the kldload patches for cardbus. This makes
kldload of a driver for a device that's inserted now appears
to work. To make it work, we only do a power cycle of the card
if there's no children drivers attached.
This likely is papering over bogosities in the power system. The
power sequence needs to be re-written, so I'll not worry about
the papering over until the re-write.
Warner Losh [Wed, 12 Feb 2003 04:26:10 +0000 (04:26 +0000)]
Back out 1.143 and 1.144. They are no longer needed now that we start
devd later in the boot process. This should fix all the problems
people have had with those commits. Diskless should be working again,
and those that mount /usr with nfs should be able to do that again too.
Warner Losh [Wed, 12 Feb 2003 04:22:40 +0000 (04:22 +0000)]
Start devd after the networking stuff, but before we mount the
critical remote systems. This lets us run commands from devd that
aren't on the / partition. This also means we can remove some kludges
from the networking startup that I added a while ago that caused other
problems.
There's still a race in starting devd that needs to be fixed in devd
so that things present at boot will be configured by the time devd
does daemon(). That race will be fixed later.
Warner Losh [Wed, 12 Feb 2003 04:12:23 +0000 (04:12 +0000)]
Now that we don't have the NODEVFS case, we can just check to see if a
device node exists directly to see if OLDCARD is compiled into the
kernel. This eliminates the scary warning that people using NEWCARD
are seeing when they have pccard_enable=YES in their /etc/rc.conf
files.
Implement a bio-taskqueue to reduce number of context switches in
disk I/O processing.
The intent is that the disk driver in its hardware interrupt
routine will simply schedule the bio on the task queue with
a routine to finish off whatever needs done.
The g_up thread will then schedule this routine, the likely
outcome of which is a biodone() which queues the bio on
g_up's regular queue where it will be picked up and processed.
Compared to the using the regular taskqueue, this saves one
contextswitch.
Change our scheduling of the g_up and g_down queues to be water-tight,
at the cost of breaking the userland regression test-shims.