summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
13 daysprovide a way to negotiate network offloads between the kernel and userland.David Gwynne
userland can request that network packets that are read from or written to the device special file get prepended with a "tun_hdr" struct. this struct contains bits which say what offloads are requested for the packet, including things like ip/tcp/udp/icmp checksums, tcp segmentation offloads, or ethernet vlan tags. userland can write a packet with any of these offloads requested into the kernel at any time, but has to request which ones it's able to handle coming from the kernel. enabling the tun_hdr struct and which offloads userland can handle is done with a new TUNSCAP ioctl. this is based on the virtio_net_hdr in linux, which jan@ actually implemented and had working with vmd. however, claudio@ and i strongly opposed to what feels like a layer violation by pulling virtio structures into the tun driver, and then trying to emulate virtio/linux semantics in our network stack, and playing catch up when the "upstream" projects decide to change the shape or meaning of these bits. tun_hdr is specific to the openbsd network stack and it's semantics, which simplifies our kernel implementation. jan has been pretty gracious about the extra work on the vmd side of things. tested by and ok jan@ ok claudio@
13 daysimplement ice_down(); ifconfig ice0 down/up is working nowStefan Sperling
13 daysEnable ixv(4) in RAMDISK_CDYASUOKA Masahiko
ok stu deraadt
14 daysFix simplefb colours for BPP16 and BPP24 by specifiying colourTobias Heider
offsets for RGB formats explicitly. From Paul Fertser ok patrick@ miod@ kettenis@
14 daysAdds support for BPP16 16-bit color EFI framebuffer format as offeredTobias Heider
by u-boot. From Paul Fertser ok patrick@ miod@ kettenis@
2024-11-12remove unused arm64_machdep.hJonathan Gray
2024-11-12rename bus space files to match other archsJonathan Gray
ok miod@
2024-11-12bump the type used to specify traffic queue bandwidth to 64bit.David Gwynne
this should let people specify interface and queue bandwidths greater than ~4Gbit. this changes the pf ioctls used to specify queues, so if you want to try this you'll need a new kernel, new headers, and a new pfctl (and systat). or upgrade using a snapshot. the effort and benefit of providing compat isn't worth it. putting it in now so people can kick it around.
2024-11-12add wd to nam2blk to match bdevswJonathan Gray
2024-11-11order nam2blk by major numberJonathan Gray
2024-11-11remove unused mainbus.h; ok miod@Jonathan Gray
2024-11-11If nostop is set properly ignore stop signals with default handlers.Claudio Jeker
The check right now is in the wrong spot so fix this. OK mpi@
2024-11-10drm/amd/display: Add null checks for 'stream' and 'plane' before dereferencingJonathan Gray
From Srinivasan Shanmugam 10c20d79d59cadfe572480d98cec271a89ffb024 in linux-6.6.y/6.6.60 15c2990e0f0108b9c3752d7072a97d45d4283aea in mainline linux
2024-11-10remove vmx_pmap_find_pte_ept(), used by removed EPT mprotect ioctlJonathan Gray
ok mlarkin@
2024-11-10Lock send socket buffer for fstat syscall.Alexander Bluhm
In soo_stat() lock send socket buffer mutex around access to sb_state. Althoug not strictly necessary as this is only a single read access, make clear where parallel variable access happens. As this is not performance critical, use mutex instead of read once wrapper. This is also consistent to the receive socket buffer a few lines above. OK mvs@
2024-11-10all archs now have ci_idepth, remove ifdefsJonathan Gray
2024-11-10replace uvm.h includes with uvm_extern.h where possibleJonathan Gray
2024-11-10no need to include both uvm.h and uvm_extern.hJonathan Gray
2024-11-10Do not call uvm_swap_finicrypt_all() a second time in dumpsys().Jonathan Gray
a change mpi@ committed to all architectures in 2015
2024-11-10remove unused XINTR() defineJonathan Gray
2024-11-09remove unused functions; ok mglocker@Jonathan Gray
2024-11-09libz: sync with baseTheo Buehler
2024-11-09The buffer flipper (incorrectly?) uses pmap_copy_page() from interruptMark Kettenis
context (when it calls uvm_pagerealloc_multi()). But the current implementation of pmap_copy_page() assumes it only runs in process context. Use splbio() to block the interrupts while we're doing the copy. ok mpi@
2024-11-09Simplify uvm wire and unwire in psp(4) for lauch update data.Alexander Bluhm
Instead of wiring page by page, wire the whole range. After the PSP lauch update data command finished, unwire the memory again. from hshoexer@; OK mlarkin@
2024-11-09RegenMiod Vallat
2024-11-09Add support for Exar XR17V352, submitted by Sean on tech@Miod Vallat
2024-11-09RegenMiod Vallat
2024-11-09More uftdi(4) devices; from Cameron Willams on tech@Miod Vallat
2024-11-09RegenMiod Vallat
2024-11-09More udl(4) devices, from NetBSD.Miod Vallat
2024-11-09remove unused ifq_is_serialized()Jonathan Gray
missed when the prototype was removed in ifq.h rev 1.25 ok dlg@
2024-11-08Change 'labeloffset' to 0 from 64 as that space in the OpenBSD disklabel ↵Kenneth R Westerback
block is no longer used by luna88k. Tested & ok miod@ aoyam@
2024-11-08Use read once in socket filter functions.Alexander Bluhm
The socket filt_...() functions are called with shared netlock, but without per socket lock. This can be done as they are read-only. After unlocking, TCP will modify socket variables in parallel. So explicitly mark with READ_ONCE() where unlocked access to socket fields happens. OK mvs@
2024-11-08Use mutex of receive socket buffer to protect so_oobmark.Alexander Bluhm
Socket field so_oobmark belongs to receive path, so use so_rcv mutex to protect it. Although tcp_input() is still exclusively locked, put mutex there to prepare further unlocking. OK mvs@
2024-11-08qcpas: send APM_POWER_CHANGE events upon ac / battery life changesLandry Breuil
allows upowerd to react on power changes, and now i have nifty notifications in xfce4 on the x13s when plugging/unplugging the ac. Also works on the omnibook x14. ok phessler@ kettenis@ jca@
2024-11-08Use a mutex to make psp(4) MP safe.Alexander Bluhm
To avoid a race between writing PSP command, sleeping, receiving interrupt, and calling wakeup(9), protect psp(4) driver with a mutex. With that interrupt handler is MP safe and ioctl(2) can release kernel lock. from hshoexer@; OK dlg@
2024-11-08sparc64 now has ci_idepth.Martin Pieuchot
ok miod@
2024-11-08TCP send and receive space update are MP safe.Alexander Bluhm
tcp_update_sndspace() and tcp_update_rcvspace() only read global variables that do not change after initialization. Mark them as such. Add braces around multi-line if blocks. ok mvs@
2024-11-08pf(4) when doing af-to translation for ICMP protocol sends packetsAlexandr Nedvedicky
with TTL field to zero. To fix it function pf_test_state_icmp() must initialize ttl field in pf_pdesc structure for inner packet. feedback from bluhm@ OK bluhm@
2024-11-08remove pmap_zero_page_uncached()Jonathan Gray
used by idle page zeroing code removed from uvm in 2015 ok miod@ mpi@ mlarkin@
2024-11-08Move sparc64-specific ofw prototypes out of the MI header.Miod Vallat
2024-11-08Constify strtab.Martin Pieuchot
2024-11-08Add a work-in-progress version of ice(4), a driver for Intel E810 devices.Stefan Sperling
Ported from FreeBSD. This driver does not pass packets yet, lots of code is still missing. The driver will remain disabled in kernel configs until it is ready. At this stage, code for device initialization should be fairly complete. Some hardware features will require additional firmware packages to be loaded. My plan is to get things working in the basic "safe mode" first, which does not require external firmware. I will continue working on this driver in-tree, with funding from genua. Help is welcome. ok dlg@
2024-11-08psp(4) waits for acknowledgement of wbinvd from other CPU.Alexander Bluhm
If any other CPU has not finished wbinvd, PSP command may fail. To avoid races, call wbinvd_on_all_cpus_acked() which waits for acknowledgement from IPI handler. Provide stub to build non-MP kernels. from hshoexer@; OK mlarkin@
2024-11-08regenStefan Sperling
2024-11-08add two Intel E810 Ethernet PCI device IDsStefan Sperling
2024-11-08Use PCB iterator for raw IPv6 input loop.Alexander Bluhm
Implement inpcb iterator in rip6_input(). Factor out the real work to rip6_sbappend(). Now UDP broadcast and multicast, raw IPv4 and IPv6 input work similar. While there, make rip_input() look more like rip6_input(). OK mvs@
2024-11-08Add support for MA devices.Mark Kettenis
ok stsp@
2024-11-08Implement interrupt depth counter for sparc64.Miod Vallat
2024-11-08Correctly compute access type for write faults. This allows write-onlyMiod Vallat
mappings to work.