| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
conversion steps). it only contains kernel prototypes for 4 interfaces,
all of which legitimately belong in sys/systm.h, which are already included
by all enqueue_randomness() users.
|
| |
|
|
|
|
| |
Tested by Andre Stoebe and Remi Locherer.
ok deraadt, tb
|
| | |
|
| |
|
|
|
|
|
| |
By performing a task_add an interrupt handler can rely on the
taskq_thread to invoke it again with an additional benefit of
being able to sched_pause when required. In the long run more
than 99.8% of calls do not require an additional iteration.
|
| | |
|
| |
|
|
|
|
|
| |
Hyper-V interrupts seem to be sometimes delivered before the message
becomes available on the channel ring. This is reproducible on hvs(4)
under load. This change is modelled on the workaround found in the
Linux driver.
|
| | |
|
| |
|
|
|
| |
Now that both hvn(4) and hvs(4) can perform VMBus channel operations
during autoconf, it's no longer necessary to defer their attachment.
|
| | |
|
| |
|
|
| |
Obtained from FreeBSD.
|
| |
|
|
|
| |
Reported by brad and kettenis separately; Mark has even sent me a diff
and told to commit it with OK kettenis.
|
| | |
|
| |
|
|
|
|
| |
A nod to the re.c commit by dlg@, perhaps pure paranoia, but works
nevertheless. While here replace a more expensive modulo operation
with a subtraction.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
To be able to perform asynchronous operations early we need to
have a robust polling mechanism with flexible condition check
semantics. A new hv_wait interface provides such facilities.
Right now hvn(4) submits NVS commands and sleeps waiting for a
interrupt to fire and run the completion code and it will take
some effort to convert this code to be able to poll instead of
tsleep. But VMBus attachment, channel scanning, etc can done
at an earlier stage. Lets see if this sticks.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This adds a few checks to make sure we're not trying to use features
that are not advertised with CPUID feature flags and avoid attaching
when Xen viridium emulation is turned on.
Prompted by a report from Kirill Miazine <km at krot ! org>, thanks!
Discussed with reyk@.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Clang static analyser has found that a tsleep was using an uninitialised
pointer value as a wait channel. An associated wakeup wasn't doing the
right thing either.
|
| |
|
|
|
|
|
|
| |
Make sure to hold the ring buffer lock for the complete duration
of a channel ring I/O operation. For read operations this means
peeking and reading is done uninterrupted and for both reads and
writes this places the buffer space availability check under the
same lock as well.
|
| |
|
|
|
|
|
|
|
| |
hvn(4) needs to be able to put up to 128 RNDIS data messages on the
channel ring each pointing up to 16 fragments in addition to a small
number of RNDIS control messages. This simplifies accounting of
available TX descriptors in relation to the available space on the
channel ring and as a results prevents packet drops due to the ring
being full.
|
| | |
|
| |
|
|
| |
Input & OK reyk.
|
| | |
|
| |
|
|
|
|
|
|
| |
latter will always be non-NULL, and therefore the test will always be false.
Caught by clang.
ok jca@, mikeb@, jsg@
|
| | |
|
| | |
|
| |
|
|
|
| |
Replace hand rolled atomic bit operations and use MI ones from DRM
and convert event matrixes to arrays of longs.
|
| |
|
|
|
|
|
| |
Microsoft has performed a significant clean up and stylistic improvement
of Hyper-V structure definitions and updated FreeBSD port. We update to
stay in sync with the upstream and improve maintainability of this code
in the future.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Rather than performing an atomic bit clearing for every encountered
event bit set we can adjust the code to perform an atomic swap of a
single row of the events array and decrease the amount of expensive
atomic operations.
From FreeBSD.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
ok mikeb@
|
| |
|
|
| |
ok mikeb@
|
|
|
ok mlarkin, deraadt
|