summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-25Wrap long lines.Alexander Bluhm
2020-12-25expose the mcx timer as a timecounter.David Gwynne
this is mostly to help me better understand where i accumulate error when trying to sync the chip to the kernel clocks. ie, if im using mcx as the kernel clock source and my attempts to sync to it still produce errors, then my code is very wrong instead of slightly wrong. it's also fun and a tiny amount of code.
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25match on Gemini Lake I2CJonathan Gray
Makes touchpad work on Joel Carnat's Teclast F7 Plus laptop. Patch from James Hastings.
2020-12-25Link pktinfo_addr and srcaddr regress to build.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2017-09-07Copy IPv6 fragment test cases to IPv4 and adapt to the different Alexander Bluhm
behavior. All tests are run once with pf fragment reassembly and once with pf disabled and IP input reassembly. Three sub tests are currently disabled as the IP stack behaves differently than pf.
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Missed a python2 in previous commit.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-25Refactor klist insertion and removalVisa Hankala
Rename klist_{insert,remove}() to klist_{insert,remove}_locked(). These functions assume that the caller has locked the klist. The current state of locking remains intact because the kernel lock is still used with all klists. Add new functions klist_insert() and klist_remove() that lock the klist internally. This allows some code simplification. OK mpi@
2020-12-25Small smr_grace_wait() optimizationVisa Hankala
Make the SMR thread maintain an explicit system-wide grace period and make CPUs observe the current grace period when crossing a quiescent state. This lets the SMR thread avoid a forced context switch for CPUs that have already entered the latest grace period. This change provides a small improvement in smr_grace_wait()'s performance in terms of context switching. OK mpi@, anton@
2020-12-25Add Orange Pi Zero Plus. ok jsg@Darren Tucker
2020-12-25Add to *FLAGS and *ADD rather than overwriting themTheo Buehler
This makes CFLAGS pick up -O2, which shaves a few seconds runtime off these very slow tests.
2019-05-09Test IPv6 raw sockets with checksum calculation in kernel.Alexander Bluhm
2015-11-05Add regression tests for the ARP implementation in the kernel. SendAlexander Bluhm
multiple ARP packets to a remote machine with Scapy. Check ARP replies, table entries and log messages. All log messages in in_arpinput() are generated. Proxy ARP is also tested.
2020-12-25Fix test after change of wmesg.Visa Hankala
2020-12-25Switch to scapy with python 3.Alexander Bluhm
2020-12-24Switch to scapy with python 3.Alexander Bluhm
2020-12-24Switch to scapy with python 3.Alexander Bluhm
2020-12-24Do proper accounting of zero length TDs. Currently a specific numberMarcus Glocker
of zero length TDs can cause our free TRBs to run out, causing xhci(4) to return USBD_NOMEM to the USB stack. The issue was reported by Jonathon Fletcher <jonathon.fletcher () gmail ! com> -- Thanks! Reviewed/suggestions by patrick@. ok mpi@
2020-12-24Extract clock frequency from _DSD properties.Patrick Wildt
ok kettenis@
2020-12-24Implement capability register overrides based on _DSD properties.Mark Kettenis
ok patrick@
2020-12-24regenJonathan Gray
2020-12-24add some NVMe devices and Intel Comet Lake host bridgesJonathan Gray
2020-12-24Initialize mips64 pmap pool using IPL_VM.Visa Hankala
This moves the pmap closer to MP-safety. A similar change has already been made on some other architectures.
2016-10-19Add a test suite for pf state handling. It needs a remote machineAlexander Bluhm
to exchange packets, the remote kernel is tested. For now it only contains a challenge ack test written by sashan@. OK sashan@
2020-12-24First fulfil all challenges then tell the CA that it should check.Florian Obser
For http-01 this doesn't matter but I think this will be nicer for dns-01 because there are propagation delays to consider and it will be better to just put everything in DNS and then wait then wait after each challenge. Testing & OK sthen
2020-12-24ramdisks do not contain WOLTheo de Raadt
2020-12-24handle reported core clock frequency of 0 on newer Intel Comet LakeJonathan Gray
The 'nominal core crystal clock frequency' from cpuid 0x15 is 0 on Intel model 0xa5 (CML-H CML-S62 CML-S102) and 0xa6 (CML-U62). So act as if 24 MHz was reported like we do on other Skylake/Kaby Lake variants. Comet Lake processors with model 0x8e (CML-U42 CML-Y42) use the same model number used by Kaby Lake and many other parts which was already handled. While we could approximate the crystal frequency with 'Processor Base Frequency' from cpuid 0x16 eax like FreeBSD and Linux do, kettenis@ couldn't get ntpd to sync a clock on a Skylake machine with: CPUID 0x15: eax=2, ebx=134, khz=0 CPUID 0x16: eax=1600, ebx=1600, ecx=100, edx=0 with reported crystal frequency changing from 24000 kHz to 23880 kHz (cpuid 0x16 eax * 1000 * cpuid 0x15 eax / cpuid 0x15 ebx) and TSC frequency changing from 1608000000 to 1599960000. Cannon Lake, Ice Lake, and Tiger Lake are known to return non-zero frequency in cpuid 0x15 so hopefully no other model ids have to be added. James Cook reported hangs on bsd.rd with i7-10710U 06-a6-00 (CML-U62) (which does not have acpihpet) but not with bsd.mp (which does) and has confirmed that both approaches fixed the problem.
2020-12-24tsleep(9): add global "nowake" channel for threads avoiding wakeup(9)cheloha
It would be convenient if there were a channel a thread could sleep on to indicate they do not want any wakeup(9) broadcasts. The easiest way to do this is to add an "int nowake" to kern_synch.c and extern it in sys/systm.h. You use it like this: #include <sys/systm.h> tsleep_nsec(&nowait, ...); There is now no need to handroll a local dead channel, e.g. int chan; tsleep_nsec(&chan, ...); which expands the stack. Local dead channels will be replaced with &nowake in later patches. One possible problem with this "one global channel" approach is sleep queue congestion. If you have lots of threads sleeping on &nowake you might slow down a wakeup(9) on a different channel that hashes into the same queue. Unsure how much of problem this actually is, if at all. NetBSD and FreeBSD have a "pause" interface in the kernel that chooses a suitable channel automatically. To keep things simple and avoid adding a new interface we will start with this global channel. Discussed with mpi@, claudio@, kettenis@, and deraadt@. Basically designed by kettenis@, who vetoed my other proposals. Bugs caught by deraadt@, tb@, and patrick@.
2020-12-24Add Wake on LAN support to rge(4).Kevin Lo
Tested by otto@ and myself.
2020-12-23Print specific headline for TCP state and IP protocol in netstat.Alexander Bluhm
OK claudio@ sthen@
2020-12-23sigsuspend(2): change wmesg from "pause" to "sigsusp"cheloha
Make it obvious where the thread is blocked. "pause" is ambiguous. Tweaked by kettenis@. Probably ok kettenis@.
2020-12-23nanosleep(2): shorten wmesg from "nanosleep" to "nanoslp"cheloha
We only see 8 characters of wmesg in e.g. top(1), so shorten the string to fit. Indirectly prompted by kettenis@.
2020-12-23smtpd's filter state machine can prematurely release resourcesTodd C. Miller
leading to a crash. From gilles@
2020-12-23Use IPL_VM for the pmap pool like we do on amd64.Mark Kettenis
2020-12-23Allow the provision of dhclient(8) options on 'dhcp' lines in hostname.if(5)Kenneth R Westerback
files. Usual man page help & ok jmc@
2020-12-23Fix a memory leak: use a single memory allocation for struct addrinfo andEric Faurot
the sockaddr it contains, as expected by freeaddrinfo(). Move the allocation to a helper function for clarity. comments from martijn@ millert@ ok millert@
2020-12-23Ensure that filt_dead() takes effectVisa Hankala
Invoke dead_filtops' f_event callback in klist_invalidate() to ensure that filt_dead() modifies every invalidated knote. If a knote has EV_ONESHOT set in its event flags, kqueue_scan() will not call f_event. OK mpi@
2020-12-23Clear error before each iteration in kqueue_scan()Visa Hankala
This fixes a regression where kqueue_scan() may incorrectly return EWOULDBLOCK after a timeout. OK mpi@
2020-12-23BGP uses KEEPALIVE packets and the HOLD timer to detect stalled sessions.Claudio Jeker
The problem is that this timer only looks at the receive side of the TCP session. If for some reason the send side stalls the system fully depends on the remote BGP peer to reset the session. As seen in an ever growing OutQ and as a result important changes can get stalled and cause routing troubles. This change introduces a SEND HOLD timer. The timer is reset whenever the session engine was able to write data to the TCP socket. If the send hold timer expires bgpd was not able to send any data to that neighbor for at least 90 seconds and therefor the session is forcefully closed with a hold timer expired notification. The send hold timer acts as a last resort to detect faulty peers. On an idle session it can take a long time until this timer triggers but the main goal here is to reset a stuck session at some point which did not happen before. With and OK job@
2020-12-23Update to tzdata2020e from www.iana.org. Major changes:Todd C. Miller
o Palestine ends DST earlier than predicted, on 2020-10-24. o Volgograd switches to Moscow time on 2020-12-27 at 02:00.
2020-12-23Fix regulators that use "active-low" polarity. Our implementation nowMark Kettenis
ignores the presence "enable-active-high" property and relies on the encode polarity of the GPIO in the flags in the device tree instead. This might not be the case for older device trees; such device trees should be fixed. ok patrick@
2020-12-23Handle a few more userland traps that would lead to a kernel panic.Mark Kettenis