fix timer emulation-related VM hangs
This fixes state machine issues that resulted in hangs with OpenBSD-i386 VMs
when using the i8254 hardware timecounter with vmm. This also manifested in
incorrect i8254 calibration (wrong CPU speed in dmesg).
tested with Debian 12 amd64, i386
Apine Linux 3.23 x86 (with 4GB memory), x86_64
OpenBSD 7.9 beta amd64, i386
ok mlarkin@
remove incomplete/never finished loongson hibernate code
This was started many years ago and never finished. Ongoing work in hibernate
is complicated by having this old code present.
ok miod
zero direct map pages before populating
Zero the DM PTE/PDE pages before use. Fixes a bug on machines with more than
512GB RAM; those pages might contain previous data/junk and panic during
pmap_randomize.
Tested on various amd64 laptops, an openbsd amd64 vmm VM and an EPYC server
with 1TB RAM.
Fix supplied by Chris Cunningham, thanks!
Add smtiic(4), a driver for the I2C controller found on the SpacemiT K1
SoC. This is a close relative of mviic(4), but the register layout
changed and some bits moved within the registers.
ok jca@
Bring back the PXA2X0 variant; it resurfaced in the SpacemiT K1 SoC.
Incorporate a fix inspired by NetBSD to keep the console enabled when
userland closes the device.
relayd: support TLS with multiple listeners
Fix a bug in relay_inherit() which runs only
relay_load_certfiles(conf, rb, NULL) unconditionally which isn't
alligned with logic in parser when it parses relay block, where multiple
certificates are load as relay_load_certfiles(conf, rb, NULL) only if
here no tlscerts (for default host) and otherwise it loads keypairs.
OK: rsadowski@
x509v3.h: remove pointless #ifdef HEADER_CONF_H
x509v3.h has included conf.h since June 20, 1999, OpenSSL commit ba404b5e,
so HEADER_CONF_H has been defined since then. Also since then, CONF_VALUE
(only available via conf.h) has been used outside of HEADER_CONF_H, making
that #ifdef doubly pointless.
ok bcook jsing kenjiro
cms_local.h: remove #ifdef X509V3_HEADER_H
All thirteen files including cms_local.h do that after including cms.h,
which already includes x509v3.h, so this is always defined. While here
make the cms_local.h a bit more selfstanding by including asn1.h and
x509v3.h
ok bcook jsing (who had the same diff) kenjiro
Follow the sparc64 lead and simply define curcpu in the kernel as the
special register containing its value, this is a general register (x4)
and therefore can be used directly
Diff stolen from miod@ who is on strike but agreed to let me commit
this. ok kettenis@
fix crash on invalid tags file
If the tag entry points to the line number zero, less crashes because
internally it uses that line number to imply that the tag is associated
with a pattern.
issue reported by Henry Ford (henryfordkjv at gmail), thanks!
ok kirill@