Age | Commit message (Collapse) | Author |
|
|
|
ServerWorks SATA.
Allow to reliably found disks on xserve G5.
from miod@
|
|
turns out i was calculating the number of packets (not descriptors)
on the tx ring, and then using that as the free space for descriptors.
|
|
|
|
ok jsg@
|
|
TULIP_SETCTX() does though. this moves that call after ifq_deq_commit.
problem reported (with great detail) and fix tested by ricardo mestre
ok mpi@
|
|
This has been masked because <sys/srp.h> is pulled unconditionally.
ok dlg@
|
|
people with old/broken batteries didn't like this change, and the
underlying heuristics are wrong.
|
|
found by deraadt@
|
|
|
|
Intel Thunderbolt controller, as this model was introduced in 2012, and the
second generation controllers were introduced in 2013.
|
|
|
|
|
|
has been removed upstream as well.
|
|
stack, is currently set to 25%. With 25% battery left, a typical
modern laptop will have at least one hour runtime left. It is an
arbitrary value, and other APM power layers in the kernel set CRITICAL
to something like 5% or 10%, so set it to 10% for now.
OK mlarkin@
|
|
ok kettenis@
|
|
interrupt line register as the irq number doesn't really work as the contents
of that register might be 0, and the code has checks for non-zero irq
numbers in places. Insteadmake drm_dev_to_irq() return -1, which is an
obviously bogus, but non-zero value.
This should fix inteldrm(4) on recent Apple hardware.
|
|
pcengines APU.
ok deraadt@
|
|
few disklabel ioctls, and the DIOCMAP ioctl against /dev/diskmap used
to translate duid numbers into partitions.
This will allow pledging of at least 12 disk/filesystem aware
programs; due to the negative impact that diff will wait a bit so
everyone has a chance to update their kernels.
ok semarie
|
|
|
|
KERNE_LOCK.
A piece is still not right as many peole reported a "watchdog timeout"
problem.
This basically brings us back to r1.305.
ok dlg@, jmatthew@
|
|
Allows us to get rid of mq_requeue(9) and IFQ_POLL(9) because wireless
drivers use a special queue for management frames.
Tested by stsp@, ok dlg@, stsp@
|
|
the code is refactored so the IFQ macros call newly implemented ifq
functions. the ifq code is split so each discipline (priq and hfsc
in our case) is an opaque set of operations that the common ifq
code can call. the common code does the locking, accounting (ifq_len
manipulation), and freeing of the mbuf if the disciplines enqueue
function rejects it. theyre kind of like bufqs in the block layer
with their fifo and nscan disciplines.
the new api also supports atomic switching of disciplines at runtime.
the hfsc setup in pf_ioctl.c has been tweaked to build a complete
hfsc_if structure which it attaches to the send queue in a single
operation, rather than attaching to the interface up front and
building up a list of queues.
the send queue is now mutexed, which raises the expectation that
packets can be enqueued or purged on one cpu while another cpu is
dequeueing them in a driver for transmission. a lot of drivers use
IFQ_POLL to peek at an mbuf and attempt to fit it on the ring before
committing to it with a later IFQ_DEQUEUE operation. if the mbuf
gets freed in between the POLL and DEQUEUE operations, fireworks
will ensue.
to avoid this, the ifq api introduces ifq_deq_begin, ifq_deq_rollback,
and ifq_deq_commit. ifq_deq_begin allows a driver to take the ifq
mutex and get a reference to the mbuf they wish to try and tx. if
there's space, they can ifq_deq_commit it to remove the mbuf and
release the mutex. if there's no space, ifq_deq_rollback simply
releases the mutex. this api was developed to make updating the
drivers using IFQ_POLL easy, instead of having to do significant
semantic changes to avoid POLL that we cannot test on all the
hardware.
the common code has been tested pretty hard, and all the driver
modifications are straightforward except for de(4). if that breaks
it can be dealt with later.
ok mpi@ jmatthew@
|
|
myx_start calculates the free space by reading the consumer index
and doing some maths, which lets us avoid the interlocked cpu ops.
|
|
doesn't fire a few seconds later.
problem reported by Hrvoje Popovski, ok dlg@
|
|
basically make sure there's enough space in the ring before dequeueing a
packet for it.
ok mpi@ jmatthew@
|
|
if the mode config stuff has not been initialized yet. Fixes a panic that
happens when radeondrm(4) detaches because the hardware couldn't be initialized
properly.
Tested by Lubos Boucek.
|
|
on amd64. make sure the signature is not null before using it in
pvbus_attach.
fixes a panic on i386 under vmware.
|
|
Allows us to get rid of mq_requeue(9) and IFQ_POLL(9) because wireless
drivers use a special queue for management frames.
Tested by stsp@, ok dlg@, stsp@
|
|
firstly, this checks for space in the tx ring before looking at the
send queue. if there's no space, then IFF_OACTIVE is set and break.
if there's space use IFQ_DEQUEUE to pull a packet off. if we fail
to encapsulate it, it gets dropped.
encap has been changed so the dmamaps the mbufs are loaded into are
created with 7 segments instead of 32. this means we detect when
the packet would overflow the tx descriptor at dmamap load time,
rather than after we've looped over the segments writing them into
the descriptor. we now use m_defrag to defrag the mbuf instead of
allocating a new one and using m_copydata.
now if we have any encap error on the first mbuf, we no longer set
IFF_OACTIVE and wait for an interrupt that never comes to clear it.
testing and (excellent) code review by richard proctor
|
|
Network Device
becomes simply
virtio2 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00
|
|
|
|
ieee80211com and move them inside #ifndef IEEE80211_NO_HT without breaking
the build in rsu(4) for RAMDISK_CD.
Also declare 11n protection modes and MCS count.
ok deraadt mpi kettenis guenther
|
|
Because of the VLAN hacks in mpw(4) this file still contains the definition
of "struct ifvlan" which depends on <sys/refcnt.h> which in turns pull
<sys/atomic.h>...
|
|
|
|
|
|
|
|
|
|
|
|
ok mpi@
|
|
|
|
Allows us to get rid of mq_requeue(9) and IFQ_POLL(9) because wireless
drivers use a special queue for management frames.
Tested by stsp@, ok dlg@, stsp@
|
|
circulated on hackers@, no objections. Disabled by default.
|
|
|
|
|
|
ok dlg@
|
|
ok mpi@
|
|
depending upon the chip capabilities, use it everywhere instead of hardcoding
one call to bge_writemem_ind() by mistake; this unbreaks the BCM5704 A3 found
on some xserve G5 (RackMac3,1).
Also tested on a few other bge(4) chip models by jmatthew@ (5703X, 5714),
mpi@ (5780), naddy@ (5761) and me (5701).
ok dlg@
|
|
program it as such and not as a 64KB window; fortunately none of the current
users of these macros would cross a 32KB boundary.
ok dlg@
|
|
Fix a NULL dereference reported by jsg@ in case a Root Port Hub interrupt
is handled before the soft-interrupt has been established.
|