openbsd
3 years agoadd veb(4) to the list of supported bridges/switches you can configure.
dlg [Sun, 28 Feb 2021 22:56:09 +0000 (22:56 +0000)]
add veb(4) to the list of supported bridges/switches you can configure.

tested by josh rickmar
ok kn@

3 years agoHave acpipci(4) look for a matching SMMU in the IORT.
patrick [Sun, 28 Feb 2021 21:42:08 +0000 (21:42 +0000)]
Have acpipci(4) look for a matching SMMU in the IORT.

ok kettenis@

3 years agoEnable acpiiort(4), add smmu(4) but keep disabled.
patrick [Sun, 28 Feb 2021 21:41:07 +0000 (21:41 +0000)]
Enable acpiiort(4), add smmu(4) but keep disabled.

ok kettenis@

3 years agoacpiiort(4) and smmu(4)
patrick [Sun, 28 Feb 2021 21:40:11 +0000 (21:40 +0000)]
acpiiort(4) and smmu(4)

3 years agoAdd smmu(4), a driver the ARM System MMU. This IOMMU is basically a
patrick [Sun, 28 Feb 2021 21:39:31 +0000 (21:39 +0000)]
Add smmu(4), a driver the ARM System MMU.  This IOMMU is basically a
regular ARM CPU MMU re-used for I/O devices.  Implementations can have a
mix of stage-2 only and stage-2/stage-2 context blocks (domains).  The
IOMMU allows different ways of grouping devices into a single domain.

This implementation only supports SMMUv2, since there is basically
no relevant SMMUv1 hardware.  It also only supports AArch64
pagetables, the same as our pmap.  Hence lots of code was taken from
there.  There is no support for 32-bit pagetables, which would have
also been needed for SMMUv1 support.  I have not yet seen any
machines with SMMUv3, which will probably need a new driver.

There is some work to be done, but the code works and it's about
time it hits the tree.

ok kettenis@

3 years agoAdd acpiiort(4), a driver for the ACPI I/O Remapping Table. This table
patrick [Sun, 28 Feb 2021 21:31:10 +0000 (21:31 +0000)]
Add acpiiort(4), a driver for the ACPI I/O Remapping Table.  This table
contains information which IOMMUs we have and how the devices are routed.

ok kettenis@

3 years agoAdd memory attributes for stage-2 pagetables.
patrick [Sun, 28 Feb 2021 21:28:33 +0000 (21:28 +0000)]
Add memory attributes for stage-2 pagetables.

ok kettenis@

3 years agoIssue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.
patrick [Sun, 28 Feb 2021 21:10:22 +0000 (21:10 +0000)]
Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.

ok kettenis@

3 years agoImplement IOMMU OFW API for on-SoC/non-PCI devices.
patrick [Sun, 28 Feb 2021 21:09:44 +0000 (21:09 +0000)]
Implement IOMMU OFW API for on-SoC/non-PCI devices.

ok kettenis@

3 years agoIssue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.
patrick [Sun, 28 Feb 2021 21:06:58 +0000 (21:06 +0000)]
Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.

ok kettenis@

3 years agoRename addr to gateway.
tobhe [Sun, 28 Feb 2021 19:25:59 +0000 (19:25 +0000)]
Rename addr to gateway.

3 years agoinstall rc.d/resolvd
deraadt [Sun, 28 Feb 2021 18:09:18 +0000 (18:09 +0000)]
install rc.d/resolvd

3 years agoMove tick_msg(TICK_WAIT) calls after related log_debug()
krw [Sun, 28 Feb 2021 17:49:01 +0000 (17:49 +0000)]
Move tick_msg(TICK_WAIT) calls after related log_debug()
calls to avoid losing those debug messages if
tick_msg() notices link-timeout has expired and daemonizes
dhclient.

3 years agoReduce non-debug output further by allowing up to the usual 3 second
krw [Sun, 28 Feb 2021 17:33:45 +0000 (17:33 +0000)]
Reduce non-debug output further by  allowing up to the usual 3 second
grace period of silence before emitting "<if>: no lease...", even if
the link has taken a few secocnds to come up. 'link-timoeut' remains
the hard deadline for going daemon.

3 years agoAdd dobeep functions that take messages to buffer.c and cscope.c
lum [Sun, 28 Feb 2021 15:30:35 +0000 (15:30 +0000)]
Add dobeep functions that take messages to buffer.c and cscope.c
No functional change intended.

3 years agoIntroduce #defines for exponential backoff, explain where they come
florian [Sun, 28 Feb 2021 15:26:26 +0000 (15:26 +0000)]
Introduce #defines for exponential backoff, explain where they come
from and explain why we are a bit more agressive during startup.
While here make the math a bit easier on the eyes.

3 years agodocument the move of FIX_CRLF_FILES to the end of distpatch
espie [Sun, 28 Feb 2021 14:03:09 +0000 (14:03 +0000)]
document the move of FIX_CRLF_FILES to the end of distpatch

3 years agobig numbers need suffixes on some platforms. fix LACP_ADDR_SLOW_E64.
dlg [Sun, 28 Feb 2021 03:59:25 +0000 (03:59 +0000)]
big numbers need suffixes on some platforms. fix LACP_ADDR_SLOW_E64.

deraadt@ says i broke hppa :(

3 years agoDo not try to reset signal handler for signal 0 in subprocess.
dtucker [Sun, 28 Feb 2021 01:50:47 +0000 (01:50 +0000)]
Do not try to reset signal handler for signal 0 in subprocess.
Prevents spurious debug message.  ok djm@

3 years agofix alphabetic ordering of options; spotted by Iain Morgan
djm [Sat, 27 Feb 2021 23:42:37 +0000 (23:42 +0000)]
fix alphabetic ordering of options; spotted by Iain Morgan

3 years agosync
deraadt [Sat, 27 Feb 2021 20:30:19 +0000 (20:30 +0000)]
sync

3 years agoremoval of "must" missed in previous: spotted by george brown, who also
jmc [Sat, 27 Feb 2021 19:32:58 +0000 (19:32 +0000)]
removal of "must" missed in previous: spotted by george brown, who also
submitted the diff for the previous commit and who i forgot to credit...

3 years agoremove some info related to compat;
jmc [Sat, 27 Feb 2021 18:58:59 +0000 (18:58 +0000)]
remove some info related to compat;
tweaked by deraadt

ok kettenis deraadt

3 years agofix NAME;
jmc [Sat, 27 Feb 2021 18:50:38 +0000 (18:50 +0000)]
fix NAME;

3 years agoRestore ability to handle default routes on multiple interfaces, this
florian [Sat, 27 Feb 2021 17:53:23 +0000 (17:53 +0000)]
Restore ability to handle default routes on multiple interfaces, this
got lost shortly before initial import.
While here explicitly delete the default route when deconfiguring an
interface. There might be corner cases where the stack will not tear
it down for us when we remove the IP address.

3 years agoensure local array is same size as global
deraadt [Sat, 27 Feb 2021 17:47:43 +0000 (17:47 +0000)]
ensure local array is same size as global

3 years agoStop checking 'epoch' in get_recorded_lease() and just set it as
krw [Sat, 27 Feb 2021 17:44:58 +0000 (17:44 +0000)]
Stop checking 'epoch' in get_recorded_lease() and just set it as
required in read_lease_db(). It's already set in packet_to_lease() and
thus both paths to TAILQ_INSERT(lease_db) ensure there is a non-zero
epoch in all lease_db entries.

3 years agoapldart(4)
kettenis [Sat, 27 Feb 2021 17:15:55 +0000 (17:15 +0000)]
apldart(4)

3 years agoaplpcie(4)
kettenis [Sat, 27 Feb 2021 17:15:33 +0000 (17:15 +0000)]
aplpcie(4)

3 years agoSet RTF_GATEWAY for host route based on RTM_GET response.
tobhe [Sat, 27 Feb 2021 17:07:04 +0000 (17:07 +0000)]
Set RTF_GATEWAY for host route based on RTM_GET response.

3 years agoapldart(4) is needed here as well.
kettenis [Sat, 27 Feb 2021 16:31:33 +0000 (16:31 +0000)]
apldart(4) is needed here as well.

3 years agoaipldart(4)
kettenis [Sat, 27 Feb 2021 16:26:41 +0000 (16:26 +0000)]
aipldart(4)

3 years agoaplpcie(4)
kettenis [Sat, 27 Feb 2021 16:23:41 +0000 (16:23 +0000)]
aplpcie(4)

3 years agoAdd apldart(4), a driver for the IOMMU on Apple M1 SoCs.
kettenis [Sat, 27 Feb 2021 16:19:14 +0000 (16:19 +0000)]
Add apldart(4), a driver for the IOMMU on Apple M1 SoCs.

ok patrick@

3 years agoWhile I wrote the initial version of resolvd(8) it diverged so much
florian [Sat, 27 Feb 2021 15:20:54 +0000 (15:20 +0000)]
While I wrote the initial version of resolvd(8) it diverged so much
that it's not appropriate to claim that I wrote it.

3 years agoMove handling of cipher/hash based cipher suites into the new record layer.
jsing [Sat, 27 Feb 2021 14:20:50 +0000 (14:20 +0000)]
Move handling of cipher/hash based cipher suites into the new record layer.

ok tb@

3 years agoDisentangle log_debug() output from tick_msg() output.
krw [Sat, 27 Feb 2021 13:59:00 +0000 (13:59 +0000)]
Disentangle log_debug() output from tick_msg() output.

Simplifies -v output, and reduces non-'-v' output.

Reduce non-'-v' output further by only displaying the first 'link up'
event.

Restore behaviour specified in dhclient.conf(5) of going daemon after
link-timeout seconds, rather than waiting another link-timeout seconds
for a lease to be accepted.

Lease verbiage problem reported, and fix tested by Mihai Popescu. Thanks!

Link verbiage problems reported, fix tested & ok tb@.

3 years agoReplace stray direct call of f_event with filter_event().
visa [Sat, 27 Feb 2021 13:43:16 +0000 (13:43 +0000)]
Replace stray direct call of f_event with filter_event().

This does not change the current behaviour, but filterops should be
invoked through filter_*() for consistency.

3 years agoIdentify DTLS based on the version major value.
jsing [Sat, 27 Feb 2021 13:38:35 +0000 (13:38 +0000)]
Identify DTLS based on the version major value.

This avoids the need to match specific DTLS version numbers.

3 years agoAdd dobeep functions that take messages to basic.c.
lum [Sat, 27 Feb 2021 13:24:52 +0000 (13:24 +0000)]
Add dobeep functions that take messages to basic.c.
No functional change intended.

3 years agoRework route_input() and rtm_sendup(). While we perform foreach loop
mvs [Sat, 27 Feb 2021 11:44:48 +0000 (11:44 +0000)]
Rework route_input() and rtm_sendup(). While we perform foreach loop
in route_input() we drop solock() after we checked socket state. We
pass mbuf(9) to this socket at next loops, while it referenced as
`last'. Socket's state could be changed by concurrent thread while
it's not locked.

Since we perform socket's checks and output in same iteration, the
logic which prevents mbuf(9) chain copy for the last socket in list
was removed.

ok bluhm@ claudio@

3 years agoPath #defines are traditionally prefixed with _PATH.
florian [Sat, 27 Feb 2021 10:35:20 +0000 (10:35 +0000)]
Path #defines are traditionally prefixed with _PATH.
Pointed out by deraadt

3 years agoPath #defines are traditionally prefixed with _PATH.
florian [Sat, 27 Feb 2021 10:32:28 +0000 (10:32 +0000)]
Path #defines are traditionally prefixed with _PATH.
Pointed out by deraadt

3 years agoPath #defines are traditionally prefixed with _PATH.
florian [Sat, 27 Feb 2021 10:28:12 +0000 (10:28 +0000)]
Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt

3 years agoPath #defines are traditionally prefixed with _PATH.
florian [Sat, 27 Feb 2021 10:21:08 +0000 (10:21 +0000)]
Path #defines are traditionally prefixed with _PATH.
pointed out by deraadt

3 years agoRead the lease file into a statically sized buffer and pass it over to
florian [Sat, 27 Feb 2021 10:07:41 +0000 (10:07 +0000)]
Read the lease file into a statically sized buffer and pass it over to
the engine process for parsing instead of passing an fd.
Let's us tighten the engine's pledge back down to "stdio".

3 years agoAdd logger(1) support for daemons that are logging to stdout/stderr (mostly from
ajacoutot [Sat, 27 Feb 2021 09:28:04 +0000 (09:28 +0000)]
Add logger(1) support for daemons that are logging to stdout/stderr (mostly from
the go ecosystem).
Properly handle failing daemon startup now that we have pipefail.

To take advantage of this new feature, just add foo_logger=facility to the
daemon rc.d(8) script or in rc.conf.local(8) or use rcctl:
rcctl set foo logger daemon.info

tweak for checking flags in rcctl(8) from martijn@
"this looks pretty good" deraadt@
ok sthen@

3 years agotrim some code i accidentally left into the nvgre add address function
dlg [Sat, 27 Feb 2021 09:21:22 +0000 (09:21 +0000)]
trim some code i accidentally left into the nvgre add address function

3 years agorecover scope from v6 nvgre endpoint addresses for userland to look at.
dlg [Sat, 27 Feb 2021 09:20:38 +0000 (09:20 +0000)]
recover scope from v6 nvgre endpoint addresses for userland to look at.

3 years agoIt is perfectly fine to POLLIN and POLLOUT at the same time. It may
claudio [Sat, 27 Feb 2021 08:59:29 +0000 (08:59 +0000)]
It is perfectly fine to POLLIN and POLLOUT at the same time. It may
actually make things a bit faster.
OK deraadt@

3 years agoHandle NULL term_type.
nicm [Sat, 27 Feb 2021 06:28:16 +0000 (06:28 +0000)]
Handle NULL term_type.

3 years agoregen
jsg [Sat, 27 Feb 2021 03:04:22 +0000 (03:04 +0000)]
regen

3 years agosort and fix RTL8713 id
jsg [Sat, 27 Feb 2021 03:03:40 +0000 (03:03 +0000)]
sort and fix RTL8713 id

3 years agoregen
jsg [Sat, 27 Feb 2021 03:01:25 +0000 (03:01 +0000)]
regen

3 years agosort
jsg [Sat, 27 Feb 2021 03:00:54 +0000 (03:00 +0000)]
sort

3 years agoregen
jsg [Sat, 27 Feb 2021 02:37:06 +0000 (02:37 +0000)]
regen

3 years agoadd ids for Intel Xeon Scalable
jsg [Sat, 27 Feb 2021 02:36:33 +0000 (02:36 +0000)]
add ids for Intel Xeon Scalable

Used by at least Skylake-SP (SKX) and Cascade Lake-SP (CLX).

Covers Xeon Scalable, Xeon D, Xeon W, Core Extreme/Core X product
families.  The Scalable parts are marketed as Xeon Bronze, Silver, Gold
and Platinum.

As most of these ids are not described in public documents from Intel
use Skylake-ESystem.inf and KabyLakePCH-HSystem.inf from Intel's Windows
drivers to get an idea of what the names should be.  With the name for
0x2088 found in a Intel authored Linux driver.

Initial patch and much discussion from Karel Gardas.

3 years agoput the mac addr into a uint64_t to compare it to the ethernet slow addr.
dlg [Sat, 27 Feb 2021 01:19:11 +0000 (01:19 +0000)]
put the mac addr into a uint64_t to compare it to the ethernet slow addr.

also do the ethertype comparison before the conversion above.

3 years agoCheck session, window, pane in the right order when working out format type.
nicm [Fri, 26 Feb 2021 21:53:41 +0000 (21:53 +0000)]
Check session, window, pane in the right order when working out format type.

3 years agoSet RTF_GATEWAY for flow routes, not for host route.
tobhe [Fri, 26 Feb 2021 21:06:02 +0000 (21:06 +0000)]
Set RTF_GATEWAY for flow routes, not for host route.

3 years agoFix and improve handling of address families in vroute_getcloneroute().
tobhe [Fri, 26 Feb 2021 20:22:11 +0000 (20:22 +0000)]
Fix and improve handling of address families in vroute_getcloneroute().

ok patrick@

3 years agoShip resolvd service, enable it by default
kn [Fri, 26 Feb 2021 18:29:16 +0000 (18:29 +0000)]
Ship resolvd service, enable it by default

Starting right after unwind.

OK deraadt

3 years agoIgnore SIGHUP
kn [Fri, 26 Feb 2021 18:28:07 +0000 (18:28 +0000)]
Ignore SIGHUP

It should always run and there is no reload semantic.

OK deraadt

3 years agosync; OK deraadt
florian [Fri, 26 Feb 2021 17:20:07 +0000 (17:20 +0000)]
sync; OK deraadt

3 years agoCreate /var/db/dhcpleased for lease files.
florian [Fri, 26 Feb 2021 17:19:21 +0000 (17:19 +0000)]
Create /var/db/dhcpleased for lease files.
OK deraadt@

3 years agorc(8) bits for dhcpleased(8).
florian [Fri, 26 Feb 2021 17:18:41 +0000 (17:18 +0000)]
rc(8) bits for dhcpleased(8).
OK deraadt

3 years agoHook up dhcpleased to the build.
florian [Fri, 26 Feb 2021 17:17:03 +0000 (17:17 +0000)]
Hook up dhcpleased to the build.
OK deraadt

3 years agoSort SEE ALSO and fix its punctuation.
tb [Fri, 26 Feb 2021 17:14:25 +0000 (17:14 +0000)]
Sort SEE ALSO and fix its punctuation.

3 years agoImport dhcpleased(8) - a dhcp daemon to acquire IPv4 address leases
florian [Fri, 26 Feb 2021 16:16:37 +0000 (16:16 +0000)]
Import dhcpleased(8) - a dhcp daemon to acquire IPv4 address leases
from servers.

dhcpleased(8) follows the well known three process design of all our
privsep daemons. It uses pledge(2) and unveil(2) to restrict access
further. In particular the "engine" process, responsible for parsing
of untrusted data, is pledge'd "stdio". It cannot access the outside
world nor the filesystem at all.

Like slaacd(8) for IPv6 it will be always running and acquire addresses
for all interface with the autoconf4 flag set.
The flag can be set by "ifconfig $if inet autoconf" or by adding
"inet autoconf" to /etc/hostname.if. An existing "dhcp" line should
be removed.

Various iterations tested by deraadt@
The hardest part, finding a name, was handled by jmatthew@ & otto@

"get to it :)" deraadt@

3 years agoSet is_trusted in x509_verify_ctx_add_chain()
tb [Fri, 26 Feb 2021 15:19:41 +0000 (15:19 +0000)]
Set is_trusted in x509_verify_ctx_add_chain()

If we're about to add a chain we have a trust path, so we have at least
one trusted certificate. This fixes a thinko from r1.31 and fixes the
openssl(1) cms verify test.

ok jsing (who had the same diff)

3 years agozap spades of trailing whitespace
tb [Fri, 26 Feb 2021 15:15:40 +0000 (15:15 +0000)]
zap spades of trailing whitespace

3 years agoRead and parse OTP on the BCM4378. There are quite a few firmware and
patrick [Fri, 26 Feb 2021 12:33:59 +0000 (12:33 +0000)]
Read and parse OTP on the BCM4378.  There are quite a few firmware and
nvram files used for the different Apple devices.  The device tree and
the OTP hold the information which of those we will have to use.  For
now this information will simply be printed, but depending on how we
choose to do the firmare distribution we could use it for loadfirmware().

3 years agoAttach to BCM4378.
patrick [Fri, 26 Feb 2021 12:29:36 +0000 (12:29 +0000)]
Attach to BCM4378.

3 years agoAdd support for BCM4378 as implemented on the Apple M1. This chip seems
patrick [Fri, 26 Feb 2021 12:28:45 +0000 (12:28 +0000)]
Add support for BCM4378 as implemented on the Apple M1.  This chip seems
to use a different set of PCIE2REG registers.  Accessing the "old" ones
even leads to faults.  There are two surprises though.  One is that it
seems that the interrupt status register always returns 0, and the other
one is that we receive the interrupts way too early, but both can be
worked around for now.

3 years agotouch pcidevs again to generated new rcs ids in headers
jan [Fri, 26 Feb 2021 11:41:02 +0000 (11:41 +0000)]
touch pcidevs again to generated new rcs ids in headers

advince from sthen@

3 years agoOnly support #iommu-cells = <1> for now to make sure the correct stream ID
kettenis [Fri, 26 Feb 2021 11:28:13 +0000 (11:28 +0000)]
Only support #iommu-cells = <1> for now to make sure the correct stream ID
is passed to the IOMMU device driver.

ok patrick@

3 years agoIncrease the amount of RX buffers given to the bwfm(4) chip. We haave seen
patrick [Fri, 26 Feb 2021 11:22:10 +0000 (11:22 +0000)]
Increase the amount of RX buffers given to the bwfm(4) chip.  We haave seen
this already on previous chips, which only started giving us packets when
handing over at least 128 of them.  Apparently some now require 256, which
seems to get the Apple M1's WiFi going.

3 years agoAdd aplcpie(4), a (minimal) driver for the PCIe host bridge on Apple M1 SoCs.
kettenis [Fri, 26 Feb 2021 11:09:23 +0000 (11:09 +0000)]
Add aplcpie(4), a (minimal) driver for the PCIe host bridge on Apple M1 SoCs.

ok patrick@

3 years agoAdd missing PCI product IDs for x710 10GBase-T into ixl(4)
jan [Fri, 26 Feb 2021 10:36:45 +0000 (10:36 +0000)]
Add missing PCI product IDs for x710 10GBase-T into ixl(4)

OK phessler

3 years agoonly store the current time on address table entries if it changes.
dlg [Fri, 26 Feb 2021 08:31:23 +0000 (08:31 +0000)]
only store the current time on address table entries if it changes.

this avoids unecessary writes to memory. it helps a little bit with
a single nettq, but we get a lot more of a boost in pps when running
concurrently.

thanks to hrvoje for testing.

3 years agoAdd a couple of format variables for active and last window index.
nicm [Fri, 26 Feb 2021 07:53:26 +0000 (07:53 +0000)]
Add a couple of format variables for active and last window index.

3 years agoSome more improvements from Joachim Wiberg's version of mg.
lum [Fri, 26 Feb 2021 07:21:23 +0000 (07:21 +0000)]
Some more improvements from Joachim Wiberg's version of mg.
check before using variable in list
remove unnecessary variable declaration
check value of adjustname()
add a '< 0' return value of snprintf

3 years agosync
deraadt [Fri, 26 Feb 2021 04:25:44 +0000 (04:25 +0000)]
sync

3 years agoremove this KEX fuzzer; it's awkward to use and doesn't play nice
djm [Fri, 26 Feb 2021 04:18:42 +0000 (04:18 +0000)]
remove this KEX fuzzer; it's awkward to use and doesn't play nice
with popular fuzzing drivers like libfuzzer. AFAIK nobody has used
it but me.

3 years agoremove some unused functions in slaacd
jsg [Fri, 26 Feb 2021 02:28:50 +0000 (02:28 +0000)]
remove some unused functions in slaacd

ok florian@

3 years agotpmr can use the eth64 bits too.
dlg [Fri, 26 Feb 2021 02:09:45 +0000 (02:09 +0000)]
tpmr can use the eth64 bits too.

3 years agotry do a better job of filtering 802.1 reserved group addresses.
dlg [Fri, 26 Feb 2021 01:57:20 +0000 (01:57 +0000)]
try do a better job of filtering 802.1 reserved group addresses.

if the bridge is supposed to carry vlan packets, assuming it's an
s-vlan component and should allow certain group addresses to cross
between "customer" bridges.

i should probably let some of these groups fall back through to the
calling ether_input rather than drop them.

3 years agoFix Typo, ok jca
danj [Fri, 26 Feb 2021 01:46:52 +0000 (01:46 +0000)]
Fix Typo, ok jca

3 years agouse uint64_ts for ethernet addresses in the src/dst bits of rules.
dlg [Fri, 26 Feb 2021 01:42:47 +0000 (01:42 +0000)]
use uint64_ts for ethernet addresses in the src/dst bits of rules.

3 years agouse a uint64_t for the ethernet address in the etherbridge table.
dlg [Fri, 26 Feb 2021 01:28:51 +0000 (01:28 +0000)]
use a uint64_t for the ethernet address in the etherbridge table.

testing has shown up to a 30% improvement in the veb forwarding
rate with this change.

an earlier diff was tested by hrvoje popovski
tested on amd64 and sparc64

3 years agoSome improvements from Joachim Wiberg's version of mg.
lum [Fri, 26 Feb 2021 01:17:21 +0000 (01:17 +0000)]
Some improvements from Joachim Wiberg's version of mg.
check value of adjustname()
use int for return value of snprintf

3 years agoadd some helpers for working with ethernet addresses as uint64_t
dlg [Fri, 26 Feb 2021 01:12:37 +0000 (01:12 +0000)]
add some helpers for working with ethernet addresses as uint64_t

the main bits are ether_addr_to_e64 and ether_e64_to addr for loading
an ethernet address into a uin64_t and visa versa. there's also
some macros for testing if an address in a uint64_t is multicast,
broadcast, anyaddr, or if it's an 802.1q reserved multicast group
address.

the reason for this functionality is once you have an ethernet
address as a uint64_t, operations like compares, bit tests, and
so on are fast and easy.

tested on amd64 and sparc64

3 years agoAdd my copyright since I added most of the content
danj [Fri, 26 Feb 2021 00:44:42 +0000 (00:44 +0000)]
Add my copyright since I added most of the content

3 years agoIncrease the buffer size for the ioctl response buffers to the same as
patrick [Fri, 26 Feb 2021 00:19:41 +0000 (00:19 +0000)]
Increase the buffer size for the ioctl response buffers to the same as
used in the wifi firmware to ensure responses can be received.

3 years agoa bit more debugging behind #ifdef DEBUG_SK
djm [Fri, 26 Feb 2021 00:16:58 +0000 (00:16 +0000)]
a bit more debugging behind #ifdef DEBUG_SK

3 years agogcc is more strict about union decls
deraadt [Fri, 26 Feb 2021 00:16:41 +0000 (00:16 +0000)]
gcc is more strict about union decls
ok dlg

3 years agoIndicate hostready signal to inform the firmware that the rings have been
patrick [Fri, 26 Feb 2021 00:14:28 +0000 (00:14 +0000)]
Indicate hostready signal to inform the firmware that the rings have been
initialized.

3 years agoRefactor bwfm(4) firmware loading. The PCIe backend will need to be able
patrick [Fri, 26 Feb 2021 00:07:41 +0000 (00:07 +0000)]
Refactor bwfm(4) firmware loading.  The PCIe backend will need to be able
to load the CLM blob like the SDIO backend already does.  Additionally it
is also helpful for the PCIe backend to try a file named after the device
tree compatible.  Thus refactor the SDIO code and make it available for
both SDIO and PCIe.

3 years agoFix prio2fifo mapping table.
patrick [Fri, 26 Feb 2021 00:02:07 +0000 (00:02 +0000)]
Fix prio2fifo mapping table.

3 years agoThe firmware replaces the last 32-bit on RAM with a shared DRAM address.
patrick [Thu, 25 Feb 2021 23:59:54 +0000 (23:59 +0000)]
The firmware replaces the last 32-bit on RAM with a shared DRAM address.
While the for-loop checks that thie value has changed since we wrote to
it, the timeout-condition checked for non-zero, which is wrong.  This
means that we didn't realize the firmware wasn't started.  While there,
make sure the shared DRAM address is inside the chip's address space.