Age | Commit message (Collapse) | Author |
|
the intention is to make it more clear what belongs to a transmit
queue and what belongs to an interface.
suggested by and ok mpi@
|
|
This commit is not removing the existing EtherIP part of gif(4) and
it keeps EtherIP of gif(4) working.
ok jbg@ sthen@ mpi@ reyk@ yasuoka@
|
|
Splitting functions in if_bridge.c into if_bridge.c for the forwarding part
and bridgectl.c for the control part. It shouldn't have any functional change.
ok reyk@ mpi@ yasuoka@
|
|
In such kernels multipath routing support is independant from the data
structure used to perform the binary lookup. Is is implemented as a
singly-listed list of route entries. This is possible because a "struct
rtentry" is no longer mapped 1:1 to a node in the tree.
|
|
ok naddy, jsing
|
|
rdomains and bridges on the local system. This can be used to route
through local rdomains, to create L2 devices (like trunks) between
them, and many other things.
Discussed with many, with input from mpi@
OK sthen@ phessler@ yasuoka@ mikeb@
|
|
strict than anticipated. It allows a programmer to pledge/promise/covenant
that their program will operate within an easily defined subset of the
Unix environment, or it pays the price.
|
|
Tested by <mxb AT alumni DOT chalmers DOT se>.
ok dlg@
|
|
media which lack ppp/crypto/etc. Include the libz one. If this
becomes a size issue later, krw has a tiny crc32 to use instead.
ok krw
|
|
accidentally capture disks ...
Eliminate kernel option GPT and associated #ifdef GPT/#endif. Let
everybody get on the GPT bandwagon and we'll see what wheels fly
off.
Requested by & ok deraadt@
|
|
|
|
vmt(4) is moved from mainbus0 to pvbus0, more devices will follow.
OK sf@ deraadt@
|
|
ok mpi@, claudio@.
|
|
operating model". This is the kernel component; various changes should
proceed in-tree for a while before userland programs start using it.
ok miod, discussions and help from many
|
|
Code abusing the radix internals for the routing table should now
includes <net/rtable.h> and only deal with "struct rtentry".
Code using a radix tree for another purpose can still include
<net/radix.h>.
Inputs from and ok claudio@, mikeb@
|
|
|
|
"shared reference pointers".
srp allows concurrent access to a data structure by multiple cpus
while avoiding interlocking cpu opcodes. it manages its own reference
counts and the garbage collection of those data structure to avoid
use after frees.
internally srp is a twisted version of hazard pointers, which are
a relative of RCU.
jmatthew wrote the bulk of a hazard pointer implementation and
changed bpf to use it to allow mpsafe access to bpfilters. however,
at s2k15 we were trying to apply it to other data structures but
the memory overhead of every hazard pointer would have blown out
significantly in several uses cases. a bulk of our time at s2k15
was spent reworking hazard pointers into srp.
this diff adds the srp api and adds the necessary metadata to struct
cpuinfo on our MP architectures. srp on uniprocessor platforms has
alternate code that is optimised because it knows there'll be no
concurrent access to data by multiple cpus.
srp is made available to the system via param.h, so it should be
available everywhere in the kernel.
the docs likely need improvement cos im too close to the implementation.
ok mpi@
|
|
|
|
the kernel_lock), as we already do better conversions in
user-mode. Yet, no need for every single driver to fiddle with the
conversion code as they are done transparently by common MI code. With
help from armani and miod, support from mpi
ok armani@
|
|
before you, to see their files reduced to ashes, to see those who
love them shrouded in tears, and to gather into your API all their
invocations.
In other words, workq is no more. There is only taskq.
ok kettenis@ dlg@ (creator of taskq) jmc@
|
|
|
|
|
|
usually matter as all generic configs with tcp sigs have crypto too.
|
|
tested with a few generic and ramdisk configs.
|
|
|
|
|
|
ok yasuoka@ mikeb@
|
|
|
|
|
|
This allows ddb's "trace" command to include file and line numbers:
ddb{0}> trace
Debugger() at Debugger+0x9 [../../../../arch/amd64/amd64/db_interface.c:405]
ddb_sysctl() at ddb_sysctl+0x1b4 [../../../../ddb/db_usrreq.c:104]
sys___sysctl() at sys___sysctl+0x216 [../../../../kern/kern_sysctl.c:229]
syscall() at syscall+0x297 [../../../../sys/syscall_mi.h:84]
--- syscall (number 202) ---
end of kernel
end trace frame: 0x7f7ffffcf1d7, count: -4
acpi_pdirpa+0x4117aa:
For this to work, it requires using a new version of boot(8), and
booting a kernel with the .debug_line section present (e.g., building
with ``makeoptions DEBUG="-g"'' and then booting the bsd.gdb kernel
instead of the stripped bsd kernel).
Still a WIP, but no failure reports yet. Committing so further
development and testing can happen in tree.
prodding deraadt, guenther, mlarkin
ok mpi
|
|
|
|
many years and wide spread demand for support never materialized.
time to pack it in.
|
|
|
|
ok guenther@
|
|
The interface has been disabled by default for about 4 years and
currently there's not much value in having it around at all.
ok deraadt
|
|
Contributed by Markus Mueller; code based upon Bitrig's GPT support, with
stricter GPT structures validation and support for alternate header places.
ok deraadt@ jsing@ krw@
|
|
Tested on amd64 with > 4GB files and 50,000 subdirectories.
From FreeBSD, thanks!
ok deraadt guenther
|
|
bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.
|
|
|
|
add attributes to it later; as wd33c93 is not a valid device name.
ok miod@
|
|
|
|
this hardware alive is becoming increasingly difficult, and I should heed the
message sent by the three disks which have died on me over the last few days.
Noone sane will mourn these ports anyway. So long, and thanks for the fish.
|
|
This driver does not handle isochronous endpoint (yet) and has no logical
TD representation. Each transfer is linked to the raw TRB of its related
endpoint.
Most of the transfer error completion codes are not handled, even with all
the cheese provided by miod@ I couldn't find a proper way to reset an
endpoint asynchronously when a device babbles. Or maybe it was the wine?
Anyway this will come soon.
In general the endpoint configuration and reset code is really crude and
requires some love, but our stack should be fixed to properly open only
once the default pipe of every new USB device first.
This means this driver wont work as it is, our stack needs other changes
first.
Suspend/resume works but ports are not suspended for the moment.
But even with these problems, interrupt devices: ukbd(4), ums(4) and
sensors like ugold(4) work properly and USB 3.0 umass(4) devices give
me a reasonnable read/write speed.
Timeouts to cancel USB transfers are not enabled *on purpose*, to be able
to track down potential timing issues.
I'm committing now so that others can help fixing my bugs (8
All this work has been done on an ExpressCard with a NEC xHCI 0.96, other
implementations/versions might trigger more bugs :)
|
|
supports the PCI variants; SBUs support will follow. Works reasonably
well now. Others are encouraged to test it.
|
|
one copy when both isp(4) and qla(4) are enabled. This is a temporary
measure until qla(4) takes over completely.
looked at by miod@ and kettenis@
|
|
so far). Works reasonably well now, so it's going in the tree so others can
try it out.
with some help and fixes from dlg@, general encouragement from basically
everyone
|
|
Discussed with krw@
|
|
|
|
network to presentation format to inet_ntop().
The few remaining functions will be soon converted.
ok mikeb@, deraadt@ and moral support from henning@
|
|
tasks are modelled on the timeout api, so users familiar with
timeout_set, timeout_add, and timeout_del will already know what
to expect from task_set, task_add, and task_del.
i wrote this because workq_add_task can fail in the place you
actually need it, and there arent any good ways of recovering at
that point. workq_queue_task was added to try and help, but required
external state to be stored for users of that api to know whether
something was already queued or not.
workqs also didnt provide a way to cancel or remove work.
this has been percolating with a bunch of people. putting it in as i
wrote it so i can apply their feedback to the code with the history kept
in cvs.
|