summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2021-01-03Allocate address space for reposting vga devices using km_alloc(9) ratherJonathan Matthew
than uvm_km_valloc(9). ok kettenis@
2021-01-02Use native display resolution 1368x768 with Lynloong all-in-one computers.Visa Hankala
From Yifei ZHAN on tech@
2021-01-02Make kernel recognize Lynloong LM9002/9003 and LM9013.Visa Hankala
LM9002/9003 is very similar to LM9001 since it works just fine on LM9002 with the codebase for LM9001. LM9013 on the other hand is fairly different from LM9001 and is more like Yeeloong 8089 when it comes to hardware design. More work might be needed to make it fully functional. From Yifei ZHAN on tech@
2021-01-02Don't call if_deactivate() in switch_clone_destroy(). Followingmvs
if_detach() will do this. ok kn@
2021-01-02Don't call if_deactivate() in bridge_clone_destroy(). Followingmvs
if_detach() will do this. ok kn@
2021-01-02Remove PIPEX{S,G}MODE ioctl(2) commands. This time they are pretty dummymvs
and were kept only for backward compatibility reasons. ok mpi@ yasuoka@
2021-01-02optimise bpf_catchpacket and bpf_wakeup.David Gwynne
bpf_catchpacket had a chunk to deal with reader timeouts, but that has largely been moved to bpfread. the vestigal code that was left still tried to wake up a reader when a buffer got full, but there already is a chunk of code that wakes up readers when the buffer gets full. bpf_wakeup now checks for readers before calling wakeup directly, rather than pushing the wakeup to a task and calling it unconditionally. the task_add is now only done when the bpfdesc actually has something that needs it. ok visa@
2021-01-02Allocate address space for struct cpu_info using km_alloc(9) instead ofJonathan Matthew
uvm_km_valloc(9). Tested on a T5120. ok mpi@
2021-01-02pool(9): remove tickscheloha
Change the pool(9) timeouts to use the system uptime instead of ticks. - Change the timeouts from variables to macros so we can use SEC_TO_NSEC(). This means these timeouts are no longer patchable via ddb(4). dlg@ does not think this will be a problem, as the timeout intervals have not changed in years. - Use low-res time to keep things fast. Add a local copy of getnsecuptime() to subr_pool.c to keep the diff small. We will need to move getnsecuptime() into kern_tc.c and document it later if we ever have other users elsewhere in the kernel. - Rename ph_tick -> ph_timestamp and pr_cache_tick -> pr_cache_timestamp. Prompted by tedu@ some time ago, but the effort stalled (may have been my fault). Input from kettenis@ and dlg@. Special thanks to mpi@ for help with struct shuffling. This change does not increase the size of struct pool_page_header or struct pool. ok dlg@ mpi@
2021-01-02bpf(4): remove tickscheloha
Change bd_rtout to a uint64_t of nanoseconds. Update the code in bpfioctl() and bpfread() accordingly. Add a local copy of nsecuptime() to make the diff smaller. This will need to move to kern_tc.c if/when we have another user elsewhere in the kernel. Prompted by mpi@. With input from dlg@. ok dlg@ mpi@ visa@
2021-01-02nfs: don't sleep on lboltcheloha
We can simulate the current behavior without lbolt by sleeping for 1 second on the &nowake channel. ok mpi@
2021-01-02uvm: uvm_fault_lower(): don't sleep on lboltcheloha
We can simulate the current behavior without lbolt by sleeping for 1 second on the &nowake channel. ok mpi@
2021-01-01Add kstat to ogx(4).Visa Hankala
2021-01-01Remove useless redundant call of ttyopen().jan
Also remove dead DIALOUT macro. ok mpi@
2021-01-01copyright++;Jonathan Gray
2020-12-31Keep polling if a temperature sensor reading fails. This is neededMark Kettenis
on Amlogic SoCs where amltemp(4) doesn't fully attach before the first polling timeout runs. This would stop the polling which means there was no thermal management on these platforms. ok patrick@
2020-12-31Add trace points for malloc(9) and free(9). This makes them traceableClaudio Jeker
via dt(4) and btrace(8). OK mpi@ millert@
2020-12-31Enable IPv4 and TCP/UDP checksum offload on transmission.Visa Hankala
2020-12-31don't oversleep when waiting on fencesJonathan Gray
original diff from and ok cheloha@
2020-12-31remove pv includes which were missed in rev 1.70Jonathan Gray
2020-12-30Set klist lock for pipes.Visa Hankala
OK anton@, mpi@
2020-12-30Add singly-linked tail queue macros from FreeBSD.Todd C. Miller
These are essentially equivalent to the simple queue macros from NetBSD but predate them and are more widely available on other systems. OK mpi@ denis@
2020-12-30Fix pppoe_dispatch_disc_pkt definition to be in accordance with style(9)mvs
ok claudio@ kn@
2020-12-30Convert the `off' argument of pppoe_dispatch_disc_pkt function tomvs
local variable. This argument was always passed as 0. ok kn@
2020-12-30Enter power-saving mode on POWER9 (ISA v3)gkoehler
When opal(4) attaches, look in the device tree for a psscr value. In cpu_idle_cycle(), use this psscr value and the stop instruction to wait for the next interrupt. In mp kernels, cpu_unidle() now sends an interrupt. In "sysctl hw.sensors", the power and temperature sensors from opalsens(4) may show lower values. The cpu may exit stop at the system reset vector after losing user registers. If so, restore some registers. For now, ignore deeper stop states that would lose hypervisor registers. Our mp kernel uses only the first hardware thread of each core. Take the extra threads from the firmware and stop them forever; this may switch the core from SMT4 to single-thread mode and increase performance. partly by kettenis@, ok kettenis@
2020-12-29Handle pinctrl.Mark Kettenis
2020-12-29Add more PWM pin descriptions.Mark Kettenis
2020-12-28Analog to the the kern.audio.record sysctl parameter for audio(4)Marcus Glocker
devices, introduce kern.video.record for video(4) devices. By default kern.video.record will be set to zero, blanking all data delivered by device drivers which attach to video(4). The idea was initially proposed by Laurence Tratt <laurie AT tratt DOT net>. ok mpi@
2020-12-28Remove unused start routinekn
enc(4) does not use the ifqueue API at all; IPsec packets are directly transformed in the IP input/output routines. enc_start() is never called (by design) so remove it for clarity. OK mpi
2020-12-28Sync with i386 by asserting that IPL values should be at least IPL_NONE.Martin Pieuchot
2020-12-28Initialize pmap_kernel()'s mutexes.Martin Pieuchot
Poison the IPL value of `pm_mtx' since it isn't supposed to be used and add an assert to make sure splraise() isn't called with a poisoned value. Fix a missing initialization found by WITNESS and reported by gnezdo@. ok millert@
2020-12-28Use per-CPU counters for fault and stats counters reached in uvm_fault().Martin Pieuchot
ok kettenis@, dlg@
2020-12-28Add support for the PCIe controller found on Amlogic G12A/G12B/SM1 SoCs.Mark Kettenis
ok patrick@
2020-12-28regenMark Kettenis
2020-12-28Add Synopsys vendor and their DesignWare PCIe bridge.Mark Kettenis
2020-12-27acpi_map_address() cannot be wrapped by SMALL_KERNEL anymore, asTheo de Raadt
it is used by acpihpet.c
2020-12-27Enable acpihpet on install media, because otherwise clock initializationTheo de Raadt
is just too different from GENERIC or GENERIC.MP pointed out by jsg
2020-12-27Remove debug printf.Mark Kettenis
2020-12-27Add PCIe support.Mark Kettenis
2020-12-27Add PCIe power domain.Mark Kettenis
2020-12-27Make NET_LOCK() assertions conditional to DIAGNOSTICVisa Hankala
This saves about 2.5 KiB off amd64's RAMDISK after gzip compression. OK deraadt@, mpi@, cheloha@
2020-12-27have mcx_process_txeof return the number of slots it processed.David Gwynne
it used a pointer in an argument to communicate that back to the caller, while being a void functon. this seems more natural and brings it in line with how the rx completion function returns free slots to its caller too.
2020-12-27do a bus space barrier after arming the eq.David Gwynne
ok jmatthew@
2020-12-27disable timestamping a little bit harder to avoid divide by 0.David Gwynne
hrvoje popovski reports the current code faults on some boxes. i'm working on it, but the code isn't being used right now.
2020-12-27shuffle filling the rx ring so the sw prod is updated before the hw.David Gwynne
ok jmatthew@
2020-12-26bpf(4): bpf_d struct: replace bd_rdStart member with bd_nreaders membercheloha
bd_rdStart is strange. It nominally represents the start of a read(2) on a given bpf(4) descriptor, but there are several problems with it: 1. If there are multiple readers, the bd_rdStart is not set by subsequent readers, so their timeout is screwed up. The read timeout should really be tracked on a per-thread basis in bpfread(). 2. We set bd_rdStart for poll(2), select(2), and kevent(2), even though that makes no sense. We should not be setting bd_rdStart in bpfpoll() or bpfkqfilter(). 3. bd_rdStart is buggy. If ticks is 0 when the read starts then bpf_catchpacket() won't wake up the reader. This is a problem inherent to the design of bd_rdStart: it serves as both a boolean and a scalar value, even though 0 is a valid value in the scalar range. So let's replace it with a better struct member. "bd_nreaders" is a count of threads sleeping in bpfread(). It is incremented before a thread goes to sleep in bpfread() and decremented when a thread wakes up. If bd_nreaders is greater than zero when we reach bpf_catchpacket() and fbuf is non-NULL we wake up all readers. The read timeout, if any, is now tracked locally by the thread in bpfread(). Unlike bd_rdStart, bpfpoll() and bpfkqfilter() don't touch bd_nreaders. Prompted by mpi@. Basic idea from dlg@. Lots of input from dlg@. Tested by dlg@ with tcpdump(8) (blocking read) and flow-collector (https://github.com/eait-itig/flow-collector, non-blocking read). ok dlg@
2020-12-26Simplify parameters of pselregister().Visa Hankala
OK mpi@
2020-12-26reuse the calculated vector as the argument to pci_intr_map_msix.David Gwynne
doing the maths again feels error prone.
2020-12-26add bus_dmamap_sync ops around the eq.David Gwynne
ok jmatthew@
2020-12-26add some bus_dmamap_syncs around the rq.David Gwynne
ok jmatthew@