firewire: replace magic numbers with named constants
No functional change.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58311
firewire: force root change when root node is not cycle master capable
When a FireWire bus resets, all devices negotiate who is the new boss.
when we detect the root node can't be cycle master,
we send a PHY config packet that forces a reelection.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58309
firewire: drain pending xfers after callout stop in detach
Removes a TODO that predates the existing drain call.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58308
firewire: add warn-only CRC validation for CSR ROM directories
Implemented crom_crc_valid() helper to validate IEEE 1394 config ROM CRC-16
checksums.
Skipped root header CRC validation since csrhdr.crc_len cover the entire
ROM body which is not fully read at header parse time. Per-directory
CRC checks below catch corruption where it needed.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58307
net80211: update drivers to allocate sequence numbers in the raw path
A bunch of drivers weren't properly converted. I mistakenly
put a call to ieee80211_output_seqno_assign() wherever the
crypto header was added, which isn't exactly correct.
There are plenty of drivers which don't share enough of their
raw and normal transmit path code for that to hold true.
So after some manual review, it looks like I've captured the
places (outside of iwn(4) which I committed earlier) where
I missed ieee80211_output_seqno_assign() calls.
* For bwi(4) and bwn(4) I refactored it out into a place that is
common enough and happens in the same lock hold window,
so it's serialised.
* For the rest, it's just plain missing from the raw path.
Locally tested:
[6 lines not shown]
aq(4): Document the Atlantic 2 (AQC113/114/115/116) devices
List every AQC part aq_vendor_info_array[] probes, each with the
maximum speed aq_hw_capabilities() grants it.
Only the Atlantic 2 parts link at 10 Megabit. The AQC100 and AQC100S
are the only SFP+ controllers; the rest are twisted pair.
Reviewed by: adrian, ziaee
Signed-off-by: Nick Price <nick at spun.io>
Differential Revision: https://reviews.freebsd.org/D58144
vidcontrol: Disallow -i mode with vt(4)vt(4) does not (currently) support changing the video mode. Report that
-i mode is not supported rather than printing an empty list.
PR: 207411
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58163
lookup: do not return vp_crossmp as dvp for mount over the reg file
Return the covered vnode instead.
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D58191
sh.1: Document which features are non-POSIX
Point out which features are non-POSIX and thus can not be
safely assumed to be portable and exist in other implementations.
Relnotes: YES!
Reviewed by: ziaee, jilles
Differential Revision: https://reviews.freebsd.org/D55333
amd64: FRED support
FRED support as defined starting from the SDM rev. 90, requires a new
'events' entry point to receive user and kernel mode exceptions and
interrupts notifications from the hardware. A minimal asm trampoline is
enough, rest can be implemented in C due to the clean FRED organization
of the event reporting.
The syscall entry is handled by a microptimized assembly path, directly
calling into the amd64_syscall() handler, instead of the generic events
entry point.
Tested by: emaste
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D55829
x86 xen: provide the prototype for xen_arch_intr_handle_upcall() in x86/apicvar.h
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56005
if_geneve: Fix mbuf leak on ip_ecn_egress
Free mbuf and increase IFCOUNTER_IERRORS if ip_ecn_egress() under
geneve_input_inherit() decides to drop the packet.
Reported by: Chris Jarrett-Davies of the OpenAI Codex Security Team
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58361
linuxkpi: Add pm_runtime_resume_and_get
pm_runtime_resume_and_get is used by new versions of amdgpu, and began
use between Linux kernel version 6.12, and 6.14.
Reviewed by: dumbbell
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57463
(cherry picked from commit 7e1245aafeece1a56af292c2652c6b835ccb6f10)
vtfontcvt: Avoid dead store in add_char
The fallback glyph is stored at index 0, and does not need to be
inserted into a mapping.
Previously there was a dead store of add_glyph's return value for the
fallback case, which upset Clang's static analyzer. Now, cast the
return value to (void) to make it clear this is intentional.
Also change add_glyph's fallback parameter to a c99 bool to make its use
more clear.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57174