fac1f593 bz May 16, 2022, 3:54 p.m.
Import code update from iwlwifi-next
 at e89600ebeeb14d18c0b062837a84196f72542830.

This amongst other things removes the deprecated BCAST_FILTERING option,
which we had disabled before due to firmware issues.
Also prepares us for the next firmware update.

The "enable_ini" module option has become an integer with a
sysctl proc equivalent handler.  Disable the module parameter changing
for the moment until we'll have working LinuxKPI support or implement
it as SYSCTL_PROC in FreeBSD directly.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
05d6f4d6 bz May 16, 2022, 3:38 p.m.
Add rfkill_soft_blocked() to the list of things to implement in
preparation for an iwlwifi update.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
48a1a6be kbowling May 15, 2022, 11:17 p.m.
Reported by:	jenkins
Fixes:	bf0aa72f1f59 igc: Update PCI IDs
MFC after:	3 days
bf0aa72f kbowling May 15, 2022, 10:09 p.m.
I226-K PCI ID got clarified by intel. Add a new I226 ID while here.

Approved by:	grehan
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D35218
187d7e98 mckusick May 15, 2022, 10:02 p.m.
No functional change.
edc5b6ea tuexen May 14, 2022, 10:38 a.m.
This is a cleanup to simplify a patch for PR 260116.

PR:		260116
MFC after:	3 days
0b4f2ab0 rmacklem May 15, 2022, 6:51 p.m.
When NFS-over-TLS uses KTLS1.3, the client can receive
post-handshake handshake records.  These records can be
safely thown away, but are not handled correctly via the
rpctls_ct_handlerecord() upcall to the daemon.

Commit 373511338d95 changed soreceive_generic() so that it
will only return ENXIO for Alert records when MSG_TLSAPPDATA
is specified.  As such, the post-handshake handshake
records will be returned to the krpc.

This patch modifies the krpc so that it will throw
these records away, which seems sufficient to make
NFS-over-TLS work with KTLS1.3.  This change has
no effect on the use of KTLS1.2, since it does not
generate post-handshake handshake records.

MFC after:	2 weeks
390c9ea0 dchagin May 15, 2022, 6:12 p.m.
MFC after:	2 weeks
c56480a8 dchagin May 15, 2022, 6:10 p.m.
The implemenation differs from others Linuxulators.
For unwinders Linux ucontext_t is stored, however native machine context
is used to store/restore process state to avoid code duplication.

As DWARF Aarch64 does not define a register number for PC and provides no
direct way to encode the PC of the previous frame, CFI cannot describe a
signal trampoline frame. So, modified the vdso linker script to discard
unused sections.

Extensions are not implemented.

MFC after:		2 weeks
08e201a3 dchagin May 15, 2022, 6:08 p.m.
MFC after:		2 weeks
8f9635dc dchagin May 15, 2022, 6:08 p.m.
The Linux exports __kernel_sigreturn and __kernel_rt_sigreturn from the
vdso. Modern glibc's sigaction sets the sa_restorer field of sigaction
to the corresponding vdso __sigreturn, and sets the SA_RESTORER.
Our signal trampolines uses the FreeBSD-way to call a signal handler,
so does not use the sigaction's sa_restorer.

However, as glibc's runtime linker depends on the existment of the vdso
__sigreturn symbols, for all Linuxulators was added separate trampolines
named __sigcode with DWARF anotations and left separate __sigreturn
methods, which are exported.

MFC after:		2 weeks
6e826d27 dchagin May 15, 2022, 6:06 p.m.
To reduce sendsig code difference and to avoid confusing me,
rename sf_sc to sf_uc to match the content.

MFC after:		2 weeks
af557e64 dchagin May 15, 2022, 6:05 p.m.
Rework the defintion of struct siginfo so that the array padding
struct siginfo to SI_MAX_SIZE can be placed in a union along side of the
rest of the struct siginfo members.  The result is that we no longer need
the __ARCH_SI_PREAMBLE_SIZE or SI_PAD_SIZE definitions.

Move struct siginfo definition under /compat/linux to reduce MD part.
To avoid headers polution include linux_siginfo.h in the MD linux.h

MFC after:		2 weeks
21f24617 dchagin May 15, 2022, 6:03 p.m.
The signal trampoine-related definitions are used only in the MD part
of code, wherefore moved from everywhere used linux.h to separate MD

MFC after:		2 weeks
ba279bcd dchagin May 15, 2022, 6 p.m.
This is the first stage of a signal trampolines refactoring.

From trampolines retired emulation of the 'call' instruction, which is
replaced by direct call of a signal handler. The signal handler address
is in the register.

The previous trampoline implemenatation used semi-Linux-way to call
a signal handler via the 'jmp' instruction. Wherefore the trampoline
emulated a 'call' instruction to into the stack the return address for
signal handler's 'ret' instruction.  Wherefore handmade DWARD annotations
was used.

While here rephrased and removed excessive comments.

MFC after:		2 weeks