Age | Commit message (Collapse) | Author |
|
serialized by the use of a taskq and it prevents sendmsg/endmsg from
being able to sleep. This hurts when implementing SSIF since some
i2c controllers sleep while waiting for transactions on the i2c bus to
complete.
ok jmatthew@, deraadt@
|
|
|
|
VOP_GETATTR() must still be serialized using the kernel lock since the
underlying file system implementation is not MP-safe.
no objection from deraadt@ and ok mpi@ visa@
|
|
ok patrick@
|
|
to expose these sensors.
Heavily based on a diff from Krystian Lewandowski.
|
|
Allwinner SoCs.
This is basically a stripped down syscon(4) and is needed because the
Linux device trees dropped the "syscon" compatible.
ok patrick@
|
|
make initialization of the PHYs work without it. Simply initialize all
the PHYs; there should only be one anyway.
ok patrick@
|
|
make sure Tx interrupts are counted.
ok deraadt@
|
|
|
|
"looks fine" kettenis@, ok deraadt@
|
|
#address-cells and #size-cells for the bus it sits on. This makes sure
the glass console works since the framebuffer shows up as a child of
/chosen which typically doesn't have these properties. This makes us
look at the root node instead.
ok patrick@
|
|
exactly the opposite of the order in the enum used by UEFI.
Makes console output come out white-on-blue instead of white-on-red.
ok patrick@
|
|
|
|
|
|
CPU0 is the reference clock and all others are skewed. During CPU
initialization the clocks synchronize by keeping a registry of each CPU
clock skewness and adapting the TSC read routine accordingly.
This commit also re-enables TSC as the default time source.
Future work includes MSR-based synchronization via IA32_TSC_ADJUST
and perhaps adding a task that is executed periodically to keep the
clocks in sync in case they drift apart.
Inspired from NetBSD.
Tested by many and thoroughly reviewed by kettenis@, thank you!
OK kettenis@, deraadt@
|
|
reported by 'mujo' on bugs@
|
|
|
|
We offload crypto operations for unicast data frames only.
Based on an initial diff from procter@
Tested in snaps for almost a week.
ok procter@ deraadt@
|
|
|
|
|
|
which means the driver has to set everything up again from scratch.
When we detect a reset (identified by an interrupt with ICR 0xdeadbeef),
schedule a task that sets up the admin queue, establishes communication
with the PF, and configures the rx/tx queues again. The interface is
taken down during the reset process.
|
|
deferring to a task, so we can run sequences of admin commands using
tasks. The only part of this that can't be done in interrupt context
is allocating new admin response buffers, so make that the responsibility
of the admin command issuer.
|
|
|
|
the system call. Better use namei pool like sys___realpath() does.
OK semarie@ deraadt@
|
|
or mis-take swapgs in interrupt path and in trap/fault/exception path. The
latter is improved to have no conditionals around this when Meltdown mitigation
is in effect. Codepatch out the fences based on the description of CPU bugs
in the (well written) Linux commit message.
feedback from kettenis@
ok deraadt@
|
|
tweaked based on feedback from kettenis@
ok deraadt@
|
|
it from the pool.
ok bluhm visa
|
|
seen on a Lenovo X395 which combines normal webcam functionality
with another IR camera, by parsing the USB interface association
descriptors. This fixes the symptom of uvideo(4) complaining
about too many headers and not providing any functionality at all.
ok jan@
|
|
as seen on the IR camera of my Lenovo X395.
ok jan@
|
|
introduced a queue to grab the lock for multiple packets. Now we
have only netlock for both IP and protocol input. So the queue is
not necessary anymore. It just switches CPU and decreases performance.
So remove the inet and inet6 ip queue for local packets.
To get TCP running on loopback, we have to queue once between TCP
input and output of the two sockets. So use the loopback queue in
looutput() unconditionally.
OK visa@
|
|
|
|
to start the rx tick did not work since we use if_rxr_get(). An
easy fix is to start the rx timeout every second unconditionally.
OK dlg@
|
|
do on sun4u. Appears to fix random kernel hangs (often involving
fpusave_proc()) on the new ports cluster machines.
ok deraadt@
|
|
|
|
vmx has an interesting feature where config in the hypervisor can
say what type of interrupts the guest should configure for the nic,
with the options of auto, msix, msi, and intx. depending on this,
the driver should try to map the type specified and fall back from
there.
also interesting is that my guest gets "auto" from the hypervisor,
which i fall through to msi with, but an msi interrupt cannot be
mapped. i cannot see any msi interrupts in this guest actually.
there must be something funky at the platform level that we don't
like, and that prevents msi from being mapped.
if msi does get mapped, we should be able to avoid a register read
on every interrupt. that should probably provide a noticable
performance improvement if we can ever take advantage of it.
|
|
|
|
there have been several reports that vmx gets stuck sometimes and
only comes good after it's taken down and up again. hopefully this
fixes that issue.
|
|
|
|
* Favor ENOTTY for unknown ioctl commands
* Return the actual error from copyinstr and copyoutstr, removes the need to
initialize the local error variable
* Do not use parens around return expressions consistently
ok visa@
|
|
update the values if they are non-zero and smaller than the current
hardcoded depths. Fixes dwiic(4) on Ampere eMAG.
ok patrick@, jcs@
|
|
directory was written as "//". If there is no non-slash character
in the path name, use the spacial case for root.
found by gmake regression tests; OK naddy@ benno@
|
|
If parent and lookup vnode are equal, namei(9) locks them once but
reference counts twice.
from Moritz Buhl
|
|
|
|
i hope, i didn't test this that hard.
|
|
caused by calling vn_open() with write permissions must be reverted.
Otherwise, the vfs subsystem could panic while releasing the last vnode
reference if the writecount is still positive.
ok visa@
Reported-by: syzbot+4724df09d9ab0fdca28a@syzkaller.appspotmail.com
Reported-by: syzbot+a430606fd528645559db@syzkaller.appspotmail.com
|
|
serializing both read/write operations using the existing file mutex.
The vnode lock still grants exclusive write access to the offset; the
mutex is only used to make the actual write atomic and prevent any
concurrent reader from observing intermediate values.
ok mpi@ visa@
|
|
from grunk@
|
|
the idea and a good chunk of the implementation is copied from
bridge(4).
note that IP packets inside "service delimited" traffic, ie, vlan,
svlan, or bpe encapsulated traffic, are not considered IP and will
therefore not be given to pf to look at. if you want to filter that
you'll need to configure vlan/svlan/bpe interfaces to get past their
headers, and then configure them with their own tpmrs. hopefully
the interface input handlers were established in the right order.
|
|
the spec says we should filter packets destined to a list of ethernet
addresses. im currently interpreting "filter" as meaning dropping,
which this diff does.
however, one of the addresses to filter is the one lacp uses by
default and not a lot of lacp implementations (read switches) support
the configuration of a different address. i still need lacp to go
over tpmr, and because i can't change the address, this diff also
has a way to configure tpmr to still allow the packets through.
|
|
(stirng -> string)
ok kettenis@ who pointed out I should fix the new arm64 smbiosvar.h too
|