| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
modify vendor code (libuwx) with a specific include directive.
The second order advantage is that we can also enable verbosity
in the glue code (ia64/ia64/unwind.c).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(mainly the 3Com 3c996B/BCM5701).
For some reason that I don't fully understand, the 5701 signals PCS
encoding errors as though they were link change events, i.e. the 'link
state changed' bit in the status word of the status block is updated
and an interrupt is generated. This would cause the bge_tick() function
to be invoked and a "gigabit link up" message to be printed on the console.
To avoid this, the interrupt handler now checks the MAC status register
when a link change interrupt is triggered, and it will only call the
bge_tick() function if the 'PCS encoding error detected' bit is clear.
(This change should have no effect on copper NICs since this bit can
only ever be set in TBI mode. I do not know how it affects 5704 NICs
with a BCM8002 SERDES PHY.)
Special thanks to: Sherry Rogers at UCB for allowing me access to one
of their traffic monitor boxes so I could diagnose this problem.
|
|
|
|
| |
in output and clobber lists at the same time.
|
| |
|
|
|
|
| |
Move FreeBSD specific flag variables from c-decl.c here.
|
|
|
|
| |
always false on 64bit platforms and GCC 3.3.1 issues warning there.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
from stock FSF sources.
|
| |
|
|
|
|
|
|
| |
1.2 -fformat-extensions.
1.3 -printf0
1.6 teach GCC about %y for DDB.
|
|
|
|
|
|
|
| |
1.3 suppress warnings on K&R main.
Rev. 1.2 (options for kernel printf enhancements) changes have been
moved to another
|
| |
|
|
|
|
| |
1.8 Change symbol values to match freebsd.h.
|
| |
|
|
|
|
| |
1.4 Look into right directory when linking 32-bit binaries.
|
| |
|
|
|
|
| |
1.2 don't let gcc(1) hide warnings in system headers.
|
|
|
|
|
|
| |
1.2 -fformat-extensions.
1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
1.14 -O0 -O1 optimize alignment for time, not size.
|
|
|
|
|
|
| |
1.{2,15} FREEBSD_NATIVE.
1.21 "GCC_OPTIONS".
1.{16,25,27} Cross-compiling issues.
|
|
|
|
| |
1.2 Tweaks to make this file live beside our hacked config.
|
|
|
|
| |
1.2 Localize the version string.
|
|
|
|
| |
1.8 printf format error fixes.
|
|
|
|
| |
1.2 Printf format errors fixes.
|
|
|
|
| |
1.11 -mno-align-long-strings.
|
|
|
|
|
| |
1.10 -mno-align-long-strings.
1.11 Allow the specification of LONG_TYPE_SIZE on the command line.
|
|
|
|
|
| |
1.2 framework for our kernel printf enhancements.
1.3 suppress prototype warnings on K&R main.
|
|
|
|
| |
sources.
|
| |
|
|\
| |
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|
|\ \
| |/
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
3.2.1 import. They are not used by any of our system GCC versions
and will be physically removed from repository soon.
Reviewed by: obrien
|
| |
| |
| |
| |
| | |
requested (not required) to do it, reassure them that cpio is still
intelligent enough that it will perform a full copy instead.
|
|\ \
| | |
| | |
| | | |
which included commits to RCS files with non-trunk default branches.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
compilation accordingly. The net effect is that tracing is not by
default present and that it can easily be compiled-in.
The tracer uses getenv() and printf(), which cannot be used in all
cases (ie from the debugger) and with this change we improved the
applicability of the unwinder.
This change is made on the vendor branch and given back to the
vendor for possible inclusion in future versions.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
immediately after the kernel map has been sized, and is
the optimal place for the autosizing of memory allocations
which occur within the kernel map to occur.
Suggested by: bde
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
without Giant held.
A quick outline of the locking strategy:
Since all IOMMUs are synchronized, there is a single lock, iommu_mtx,
which protects the hardware registers (where needed) and the global and
per-IOMMU software states. As soon as the IOMMUs are divorced, each struct
iommu_state will have its own mutex (and the remaining global state
will be moved into the struct).
The dvma rman has its own internal mutex; the TSB slots may only be
accessed by the owner of the corresponding resource, so neither needs
extra protection.
Since there is a second access path to maps via LRU queues, the consumer-
provided locking is not sufficient; therefore, each map which is on a
queue is additionally protected by iommu_mtx (in part, there is one
member which only the map owner may access). Each map on a queue may
be accessed and removed from or repositioned in a queue in any context as
long as the lock is held; only the owner may insert a map.
To reduce lock contention, some bus_dma functions remove the map from
the queue temporarily (on behalf of the map owner) for some operations and
reinsert it when they are done. Shorter operations and operations which are
not done on behalf of the lock owner are completely covered by the lock.
To facilitate the locking, reorganize the streaming buffer handling;
while being there, fix an old oversight which would cause the streaming
buffer to always be flushed, regardless of whether streaming was enabled
in the TSB entry. The streaming buffer is still disabled for now, since
there are a number of drivers which lack critical bus_dmamp_sync() calls.
Additional testing by: jake
|
| | |
| | |
| | |
| | |
| | |
| | | |
PR: 54294
Submitted by: Per Hedeland <per@hedeland.org>
MFC after: 3 days
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
series, the 8139C+ has a descriptor-based DMA mechanism, and its
performance is actually pretty respectable. Note: the 8139D chip does
not support C+ mode. Only the 8139C+ and 8169 gigE chips support C+ mode.
Supported features:
- RX and TX checksum offload
- hardware VLAN tag insertion/extraction
- TX interrupt moderation using the 8139's on-board timer
Everything should be properly busdma'ed and endian-independent, so
things should work ok on non-x86 platforms. Unfortunately, my call
for testers on this code was met with deafening silence, and I don't
have access to any non-x86 FreeBSD boxes at the moment, so this is
speculation.
The device detection code has been cleaned up a little as well
(thanks to Michal Mertl) for the patches.
There are also updates to the rl(4) man page (which I accidentally
checked in before when I updated the dc(4) man page. Oops.)
Todo: finish support for the 8169 gigabit ethernet chip. This
mainly requires writing an rlgphy driver to handle the 8169's built-in
PHY. This will have to wait until I actually get my hands on an 8169
card for testing though. (I still can't find a source for one in the
U.S. Suggestions/pointers welcome.)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- MN-110 10/100 USB ethernet (ADMtek Pegasus II, if_aue)
- MN-120 10/100 cardbus (ADMtek Centaur-C, if_dc)
- MN-130 10/100 PCI (ADMtek Centaur-P, if_dc)
Also update dc(4) man page to mention support for MN-120 and MN-130.
|