millert [Fri, 1 Mar 2024 21:30:40 +0000 (21:30 +0000)]
Add mkdtemps(3), like mkdtemp(3) but with a suffix.
OK deraadt@ tb@
krw [Fri, 1 Mar 2024 17:48:03 +0000 (17:48 +0000)]
Allow fdisk(8) to add GPT partitions of protected types.
This makes it possible to provision virtual machine images that
need a "BIOS Boot" partition.
Report, original diff and testing by Christian Ludwig. Thanks!
ok miod@
tb [Fri, 1 Mar 2024 16:27:34 +0000 (16:27 +0000)]
Bump version
claudio [Fri, 1 Mar 2024 16:23:37 +0000 (16:23 +0000)]
Bump version
kettenis [Fri, 1 Mar 2024 15:57:43 +0000 (15:57 +0000)]
Reduce dmesg spam by only printing the CPU feature flags when they differ
from the previous one. Since CPU cores are typically grouped in clusters
of identical cores and are typically enumerated this results in flags
being printed for the first core of a cluster. But only if the clusters
use cores that implement different features which is rare.
ok deraadt@
bluhm [Fri, 1 Mar 2024 14:15:01 +0000 (14:15 +0000)]
Protect pool_get() with kernel lock in sys_ypconnect().
Pool namei_pool is initialized with IPL_NONE as filesystem always
runs with kernel lock. So pool_get() needs kernel lock also in
sys_ypconnect().
OK kn@ deraadt@
job [Fri, 1 Mar 2024 09:36:55 +0000 (09:36 +0000)]
Lipstick on a pig: avoid comparing signed and unsigned
OK tb@ claudio@
jsg [Fri, 1 Mar 2024 08:35:23 +0000 (08:35 +0000)]
regen
jsg [Fri, 1 Mar 2024 08:34:42 +0000 (08:34 +0000)]
more Red Hat and Qumranet devices seen with QEMU and KVM
tb [Fri, 1 Mar 2024 08:10:09 +0000 (08:10 +0000)]
Add -x to opt into experimental file formats
Instead of burning one letter for each new file format (sidrops is known
to crank out new things faster than a normal person can read), use -x to
opt into parsing and processing file formats that aren't yet considered
stable. This is currently only the Signed Prefix List. While a repetition
of the ASPA debacle, this code hasn't yet seen enough stress testing to be
enabled by default.
ok claudio job
tb [Fri, 1 Mar 2024 07:59:20 +0000 (07:59 +0000)]
Factor signed prefix list JSON output into a helper
ok claudio job (as part of a larger diff)
tb [Fri, 1 Mar 2024 07:38:33 +0000 (07:38 +0000)]
Fix OPENSSL_{gmtime,timegm} in namespace build
These were incorrectly added to asn1.h. OPENSSL_gmtime is in crypto.h
and OPENSSL_timegm is already in posix_time.h
jsg [Fri, 1 Mar 2024 06:18:00 +0000 (06:18 +0000)]
Don't match dg2. The cards use paths unused by integrated graphics.
Likely doesn't work.
tb [Fri, 1 Mar 2024 03:47:32 +0000 (03:47 +0000)]
Remove the ciphers_by_values_test()
tb [Fri, 1 Mar 2024 03:46:54 +0000 (03:46 +0000)]
exporter: use the atrocious SSL_CIPHER_find() rather than get_by_id()
tb [Fri, 1 Mar 2024 03:45:16 +0000 (03:45 +0000)]
ssltest: drop another use of CRYPTO_mem_leaks()
bluhm [Thu, 29 Feb 2024 22:21:21 +0000 (22:21 +0000)]
An empty file /var/account/acct in etc.tgz simplifies accounting.
OK deraadt@
jan [Thu, 29 Feb 2024 22:09:33 +0000 (22:09 +0000)]
Add missing include of vlan.h in vmx(4).
ok bluhm@
bluhm [Thu, 29 Feb 2024 21:47:02 +0000 (21:47 +0000)]
Make nanosleep regress actually test something.
Do not call exit 0 in parent and child process. This skiped the
testing in multiple subtests. Use meaningful variable names to
figure out what is going wrong after the tests have been enabled.
Fix the test logic. Add missing break in switch statement, so that
success is reported.
tb [Thu, 29 Feb 2024 20:06:24 +0000 (20:06 +0000)]
Detect OPENSSL_NO_GOST correctly
tb [Thu, 29 Feb 2024 20:04:43 +0000 (20:04 +0000)]
CRYPTO_mem_leaks* will go away. Remove calls in legacy tests
tb [Thu, 29 Feb 2024 20:03:47 +0000 (20:03 +0000)]
Link x509_algor test statically and switch to the internal
X509_ALGOR_set0_evp_md()
tb [Thu, 29 Feb 2024 20:02:40 +0000 (20:02 +0000)]
OBJ_NAME_TYPE_PKEY_METH is no longer supported
tb [Thu, 29 Feb 2024 20:02:00 +0000 (20:02 +0000)]
Stop testing EVP_PKEY_GOST{IMIT,R01}
tb [Thu, 29 Feb 2024 20:00:53 +0000 (20:00 +0000)]
Prepare freenull test for GOST removal
bluhm [Thu, 29 Feb 2024 18:17:41 +0000 (18:17 +0000)]
Use monotonic clock to measure elapsed time.
The nanosleep regression test used gettimeofday(2). Switch it to
a monotonic clock to avoid accidential fails from a call to
settimeofday(2) somewhere in the system.
from Christian Ludwig
deraadt [Thu, 29 Feb 2024 17:05:10 +0000 (17:05 +0000)]
move from 7.5-beta to 7.5
guenther [Thu, 29 Feb 2024 16:10:52 +0000 (16:10 +0000)]
Intel vmm restores just the base of the GDTR and IDTR ith fixed,
high limits, beyond what we actually expect. We already restored
the IDTR from scratch, but the restore of the GDTR (limit) was
removed in r1.10. Put that back in a simpler way, simplify the
IDTR restore and delete the save/restore of the LDTR because that
one really is handled as we want by vmm.
ok dv@ mlarkin@
naddy [Thu, 29 Feb 2024 12:01:59 +0000 (12:01 +0000)]
revert "Combine route_cache() and rtalloc_mpath() in new route_mpath()"
It breaks NFS.
ok claudio@
stsp [Thu, 29 Feb 2024 11:45:47 +0000 (11:45 +0000)]
align qwx_ce_rx error code checking with linux ath11k driver
This silences warnings about a full Rx ring which the Linux driver is
likewise suppressing. They appeared because I used the wrong error code,
ENOBUF vs. ENOSPC.
stsp [Thu, 29 Feb 2024 11:42:31 +0000 (11:42 +0000)]
plug a node reference leak in qwx_mgmt_rx_event()
This leak is of little consequence in station mode, but would be
problematic in hostap mode.
jsg [Thu, 29 Feb 2024 10:10:29 +0000 (10:10 +0000)]
regen
jsg [Thu, 29 Feb 2024 10:09:54 +0000 (10:09 +0000)]
drm/i915: Update ADL-N PCI IDs
From Gustavo Sousa
in drm-intel-next
anton [Thu, 29 Feb 2024 06:54:29 +0000 (06:54 +0000)]
Stop assuming arbitrary rdomains are available and use the first given
rdomain as the vnetid.
cheloha [Thu, 29 Feb 2024 00:18:48 +0000 (00:18 +0000)]
dt(4): interval, profile: schedule clockintr relative to start of recording
For the interval and profile providers, schedule the first clock
interrupt to occur dp_nsecs nanoseconds after the start of recording.
This makes the interval between the start of recording and the first
event consistent across runs.
With input from claudio@. Simplified by claudio@.
Thread: https://marc.info/?l=openbsd-tech&m=
170879058205043&w=2
ok mpi@ claudio@
tb [Wed, 28 Feb 2024 17:04:38 +0000 (17:04 +0000)]
Expand only ever user of PBEPARAM_free() outside of libcrypto
tb [Wed, 28 Feb 2024 16:26:08 +0000 (16:26 +0000)]
Small tweak for X509_check_purpose()
ok jsing
denis [Wed, 28 Feb 2024 16:08:34 +0000 (16:08 +0000)]
Enable IPv6 AF for ppp(4)
OK claudio@
mpi [Wed, 28 Feb 2024 13:43:44 +0000 (13:43 +0000)]
No need to kick a CPU twice when putting a thread on its runqueue.
From Christian Ludwig, ok claudio@
miod [Wed, 28 Feb 2024 12:53:31 +0000 (12:53 +0000)]
Fix rx_bufs accounting buglet; reported on bugs@ by dns at strangeloop dot cc;
ok claudio@ deraadt@
tb [Wed, 28 Feb 2024 12:21:16 +0000 (12:21 +0000)]
Use an accessor instead of reaching into X509_PURPOSE
ok jsing
bluhm [Wed, 28 Feb 2024 10:57:20 +0000 (10:57 +0000)]
Cleanup IP input, forward, output.
Before changing the routing code, get IPv4 and IPv6 input, forward,
and output in a similar shape. Remove inconsistencies.
OK claudio@
claudio [Wed, 28 Feb 2024 09:36:11 +0000 (09:36 +0000)]
Refactor blk_match(). Fold the remaining data and empty file or no blocks
cases together since they are kind of the same.
OK tb@
anton [Wed, 28 Feb 2024 06:33:39 +0000 (06:33 +0000)]
Infer all rdomains from the environment with sane defaults.
jsg [Wed, 28 Feb 2024 00:53:16 +0000 (00:53 +0000)]
identify MTE; ok kettenis@
anton [Tue, 27 Feb 2024 19:34:13 +0000 (19:34 +0000)]
Skip btcfi tests on amd64 CPUs not supporting CET IBT.
ok kettenis@
kettenis [Tue, 27 Feb 2024 15:34:28 +0000 (15:34 +0000)]
Linux still doesn't actually implement IBT for userland. And by the pace
things are going, it will take another decade before it does. But OpenBSD
has it enabled *by default* already.
Drop the #ifdef __linux__. This should hurt other OSes when they finally
catch up with us.
ok robert@, tb@
bcook [Tue, 27 Feb 2024 13:12:33 +0000 (13:12 +0000)]
align read-only sections on masm/windows to 64 bytes
Avoid conflicts where alignment is specified later in the underlying
assembly.
ok tb@
mpi [Tue, 27 Feb 2024 12:50:33 +0000 (12:50 +0000)]
Printing large tuples require more than 64 chars, bump the string limit.
mpi [Tue, 27 Feb 2024 12:38:12 +0000 (12:38 +0000)]
Make it possible to check for existing string in maps.
bluhm [Tue, 27 Feb 2024 12:37:49 +0000 (12:37 +0000)]
Combine route_cache() and rtalloc_mpath() in new route_mpath().
Fill and check the cache and call rtalloc_mpath() together. Then
the caller of route_mpath() does not have to care about the uint32_t
*src pointer and just pass struct in_addr. All the conversions are
done inside the functions. ro->ro_rt is either valid or NULL. Note
that some places have a stricter rtisvalid() now compared to the
previous NULL check.
OK claudio@
claudio [Tue, 27 Feb 2024 11:28:30 +0000 (11:28 +0000)]
Split hash_file into three steps, setup, add buf and final.
Setup inits the context and adds the seed. The buf function simply adds
a block from the file to the hash. The final function calls MD4_Final()
to close the context and generate the hash.
This will help to remove the mmap in the sender and should result in a
more atomic view of the file since hash_file() is now called together
with the other hash_functions.
OK deraadt@ tb@
kettenis [Tue, 27 Feb 2024 10:47:20 +0000 (10:47 +0000)]
Pass flags to configure internal PHY delays down to the PHY. Also pass
down the device tree node. This is necessary form boards that use ytphy(4)
such as the OrangePi Zero 3. Note that this means the PHY mode has to be
correctly specified in the device tree. This hasn't always been the case
and it is still wrong in some of the device trees provided by the U-Boot
version in packages that we use for 32-bit Allwinner SoCs. However those
boards typically use a Realtek RTL8211E PHY (rev. 5) and rgephy(4) does
not pay attention to the flags yet. So this commit shouldn't break any
boards that aren't already broken. I'm working on an U-Boot update that
will fix these device trees.
ok jsg@
anton [Tue, 27 Feb 2024 07:21:07 +0000 (07:21 +0000)]
Favor usage of REGRESS_SKIP_TARGETS instead of this custom logic.
anton [Tue, 27 Feb 2024 06:58:48 +0000 (06:58 +0000)]
Cope with recent ctfdump output changes.
anton [Tue, 27 Feb 2024 06:58:19 +0000 (06:58 +0000)]
Recent ctfconv refactoring broke support for long double types, as
discovered by the regress tests.
kettenis [Mon, 26 Feb 2024 21:41:24 +0000 (21:41 +0000)]
Enable MSIs on RK3588. We have a U-Boot package with device trees that
work now.
ok patrick@
job [Mon, 26 Feb 2024 20:37:27 +0000 (20:37 +0000)]
Also download SPLs via rsync
OK tb@
kettenis [Mon, 26 Feb 2024 18:57:50 +0000 (18:57 +0000)]
Add RK3588 support. Rework the RK3568 support to take advantage of the
PHY mode enum like the new RK3588 code.
ok jmatthew@
kettenis [Mon, 26 Feb 2024 18:54:25 +0000 (18:54 +0000)]
Add GMAC related RK3588 clocks.
ok jmatthew@
stsp [Mon, 26 Feb 2024 18:00:09 +0000 (18:00 +0000)]
fix Tx rate selection for management frames in iwx(4)
The Tx rate index stored in ni->ni_txrate is not intended for use
with management frames, yet iwx_tx_fill_cmd() was using it anyway.
Use the minimum basic rate selected within iwx_tx_fill_cmd() instead.
job [Mon, 26 Feb 2024 15:40:33 +0000 (15:40 +0000)]
Track the number of new files moving from 'staging' to 'validated cache'
The OpenMetrics output shows per-repository counters for new files
added, the main process and JSON output emit the sum of all new files.
OK claudio@
tb [Mon, 26 Feb 2024 15:00:30 +0000 (15:00 +0000)]
Neuter OBJ_bsearch{_,ex_}()
Make these functions always fail. A copy of OBJ_bsearch_ex_() is kept
in stack.c, where it is still used by internal_find() for sk_find{,_ex}().
sk_find_ex() will be removed in the upcoming bump, and then we can
simplify or rewrite what's still needed.
ok jsing
yasuoka [Mon, 26 Feb 2024 10:42:05 +0000 (10:42 +0000)]
Add NAS-Identifier "npppd" for RADIUS requests. Also send Accouting-On
when RADIUS accounting is configured.
job [Mon, 26 Feb 2024 10:02:37 +0000 (10:02 +0000)]
Properly close JSON array before continuing in TAK
OK claudio@
jsg [Mon, 26 Feb 2024 09:50:42 +0000 (09:50 +0000)]
use TAILQ_FOREACH_SAFE() to avoid use after free
found by smatch, ok claudio@
yasuoka [Mon, 26 Feb 2024 08:47:28 +0000 (08:47 +0000)]
Put the RADIUS message authenticator in the Access-Request and check
the message authenticators of any received messages from servers only
if they include a message authenticator.
yasuoka [Mon, 26 Feb 2024 08:29:37 +0000 (08:29 +0000)]
Use unsigned integers for bit fields. Also fix white spaces.
yasuoka [Mon, 26 Feb 2024 08:25:51 +0000 (08:25 +0000)]
Convert K&R style function declarations to ANSI.
jmc [Mon, 26 Feb 2024 06:49:38 +0000 (06:49 +0000)]
type mgtv -> mgt; from todd carson
jsg [Mon, 26 Feb 2024 00:06:08 +0000 (00:06 +0000)]
drm/amd/display: Preserve original aspect ratio in create stream
From Tom Chung
482cda9e50dedda43695fe52410add03cc146a30 in linux-6.6.y/6.6.18
deb110292180cd501f6fde2a0178d65fcbcabb0c in mainline linux
jsg [Mon, 26 Feb 2024 00:04:18 +0000 (00:04 +0000)]
drm/amd/display: Fix MST Null Ptr for RV
From Fangzhi Zuo
7407c61f43b66e90ad127d0cdd13cbc9d87141a5 in linux-6.6.y/6.6.18
e6a7df96facdcf5b1f71eb3ec26f2f9f6ad61e57 in mainline linux
jsg [Mon, 26 Feb 2024 00:02:20 +0000 (00:02 +0000)]
drm/amdgpu/soc21: update VCN 4 max HEVC encoding resolution
From Thong
b476ae1da1369bc56e090d0a55bbd55bf0d8d409 in linux-6.6.y/6.6.18
2f542421a47e8246e9b7d2c6508fe3a6e6c63078 in mainline linux
jsg [Mon, 26 Feb 2024 00:00:17 +0000 (00:00 +0000)]
drm/prime: Support page array >= 4GB
From Philip Yang
4ff8ec01a86568ffa5b8825bfe51c4d0d1379286 in linux-6.6.y/6.6.18
b671cd3d456315f63171a670769356a196cf7fd0 in mainline linux
jsg [Sun, 25 Feb 2024 23:59:06 +0000 (23:59 +0000)]
drm/amd/display: Add align done check
From Zhikai Zhai
b9e373ed8d9cefd56bf2ff2dd2914105bf53bd4e in linux-6.6.y/6.6.18
94b38b895dec8c0ef093140a141e191b60ff614c in mainline linux
jsg [Sun, 25 Feb 2024 23:57:35 +0000 (23:57 +0000)]
drm/amd: Don't init MEC2 firmware when it fails to load
From David McFarland
38fd4dfa2764280e48c862e89623def321d0328d in linux-6.6.y/6.6.18
8ef85a0ce24a6d9322dfa2a67477e473c3619b4f in mainline linux
jsg [Sun, 25 Feb 2024 23:55:59 +0000 (23:55 +0000)]
drm/amdgpu: Reset IH OVERFLOW_CLEAR bit
From Friedrich Vock
8983397951b4b0bd51bb4b4ba9749424e1ccbb70 in linux-6.6.y/6.6.18
7330256268664ea0a7dd5b07a3fed363093477dd in mainline linux
jsg [Sun, 25 Feb 2024 23:54:12 +0000 (23:54 +0000)]
Revert "drm/amd: flush any delayed gfxoff on suspend entry"
From Mario Limonciello
caa2565a2e13899be31f7b1e069e6465d3e2adb0 in linux-6.6.y/6.6.18
916361685319098f696b798ef1560f69ed96e934 in mainline linux
guenther [Sun, 25 Feb 2024 22:33:09 +0000 (22:33 +0000)]
We don't do compat32 so MSR_CSTAR shouldn't be set up: delete the
Xsyscall32 stub and UCODE32 selector, set MSR_CSTAR to zero at CPU
startup, and rezero on ACPI resume and VM exit.
requested a while ago by deraadt@
AMD VM testing chris@
testing and ok krw@
cheloha [Sun, 25 Feb 2024 19:15:50 +0000 (19:15 +0000)]
clockintr: rename "struct clockintr_queue" to "struct clockqueue"
The code has outgrown the original name for this struct. Both the
external and internal APIs have used the "clockqueue" namespace for
some time when operating on it, and that name is eyeball-consistent
with "clockintr" and "clockrequest", so "clockqueue" it is.
cheloha [Sun, 25 Feb 2024 18:29:26 +0000 (18:29 +0000)]
sys/clockintr.h: consolidate forward declarations
cheloha [Sun, 25 Feb 2024 18:17:11 +0000 (18:17 +0000)]
clockintr.h, kern_clockintr.c: add 2023, 2024 to copyright range
florian [Sun, 25 Feb 2024 10:13:09 +0000 (10:13 +0000)]
Let some missing missing RFC 1918 reverse zones through.
Problem spotted and diff from Einfach Jemand (rru.142 at gmail),
thanks!
OK phessler, jca
yasuoka [Sun, 25 Feb 2024 06:22:45 +0000 (06:22 +0000)]
Fix a typo
deraadt [Sun, 25 Feb 2024 00:07:13 +0000 (00:07 +0000)]
New accounting flag ABTCFI to indicate signal SIGILL + code ILL_BTCFI
has occurred in the process.
ok various people
mpi [Sat, 24 Feb 2024 19:42:54 +0000 (19:42 +0000)]
Check for builtins used inside tuple to ask the kernel to copyout specific data.
Allow to save stacktrace and process name in tuples.
deraadt [Sat, 24 Feb 2024 19:13:05 +0000 (19:13 +0000)]
sync
tb [Sat, 24 Feb 2024 17:53:20 +0000 (17:53 +0000)]
Add a few missing endbr64 to libcrypto
gcm_{gmult,ghash}_4bit(), aesni_ccm64_decrypt_blocks(), aes_cbc_encrypt(),
and aesni_xts_{en,de}crypt() were overlooked in previous passes.
Found with a diff for ld.lld by kettenis
ok kettenis
mpi [Sat, 24 Feb 2024 17:05:59 +0000 (17:05 +0000)]
Implement 'store' for maps.
A current limitation is the value read from a map is converted to an
integer. To preserve the original type we have to make maps aware of
the type of its elements.
deraadt [Sat, 24 Feb 2024 17:00:05 +0000 (17:00 +0000)]
Explicitly disable MSR_CET_NO_TRACK_EN in MSR_S_CET. If enabled by the
boot-process, we don't want to accidentally allow "notrack" indirect
branches. Linux kernel does the same. Today it is difficult to do the
same for userland, because there is 1 known piece of software using
"notrack" (which needs to be fixed).
ok kettenis
cheloha [Sat, 24 Feb 2024 16:21:32 +0000 (16:21 +0000)]
clockintr_bind.9: document clockintr, clockrequest APIs
This manpage only covers the frontend APIs. The backend API is still
moving around and will be documented separately.
Tons of input, editing, and suggestions from jmc@, schwarze@, mpi@,
claudio@, mlarkin@, and probably several others I'm forgetting.
ok jmc@ schwarze@ claudio@ mpi@
mpi [Sat, 24 Feb 2024 16:19:49 +0000 (16:19 +0000)]
Implement 'store' for all builtins, they are either string or integer.
tb [Sat, 24 Feb 2024 15:30:14 +0000 (15:30 +0000)]
Replace uses of endbr64 with _CET_ENDBR from cet.h
cet.h is needed for other platforms to emit the relevant .gnu.properties
sections that are necessary for them to enable IBT. It also avoids issues
with older toolchains on macOS that explode on encountering endbr64.
based on a diff by kettenis
ok beck kettenis
cheloha [Sat, 24 Feb 2024 15:21:39 +0000 (15:21 +0000)]
qwx(4): qwx_dp_rx_tid_del_func: fix dp_reo_cache_flush_elem expiration logic
Tweak a few things in qwx_dp_rx_tid_del_func() to make it behave
correctly on OpenBSD:
- struct dp_reo_cache_flush_elem: make ts a 64-bit count of nanoseconds
Linux uses jiffies to timestamp dp_reo_cache_flush_elem. Although
OpenBSD has a global jiffies variable, we shouldn't use it outside
of drm(4). I would rather not use our global ticks variable, either.
We can use getnsecuptime(9), a low-res 64-bit nanosecond timestamp,
as a substitute.
- qwx_dp_rx_tid_del_func: replace gettime(9) with getnsecuptime(9)
- qwx_dp_rx_tid_del_func: convert DP_REO_DESC_FREE_TIMEOUT_MS to nanoseconds
- qwx_dp_rx_tid_del_func: reverse timestamp comparison operator
This comparison is backwards. Linux uses the time_after() macro to
test whether a given entry has expired, so our ported code needs to
test whether the current uptime is greater than or equal to a given
entry's expiration time.
Joint effort with stsp@. Tested by stsp@.
ok stsp@
tb [Sat, 24 Feb 2024 08:00:37 +0000 (08:00 +0000)]
Remove custom key length handling
No cipher in libcrypto is marked EVP_CIPH_CUSTOM_KEY_LENGTH and no control
handler deals with EVP_CTRL_SET_KEY_LENGTH, which means that this code is
dead as far as libcrypto is concerned. Almost nothing uses EVP_CIPHER_meth*
(this was added for a single project) and nothing sets a custom ctrl. This
isn't going to change anyway since EVP_CIPHER_meth* is deprecated in order
to promote more provider beauty.
ok beck jsing
tb [Sat, 24 Feb 2024 07:53:01 +0000 (07:53 +0000)]
Remove last calls to CRYPTO_{push,pop}_info()
These don't do anything but return 0 and will be garbage collected in the
upcoming bump.
ok jsing
tb [Sat, 24 Feb 2024 07:50:25 +0000 (07:50 +0000)]
err.c: fix incorrect line wrapping
cheloha [Sat, 24 Feb 2024 01:43:32 +0000 (01:43 +0000)]
clockintr: rename clockqueue_reset_intrclock to clockqueue_intrclock_reprogram
The function should be in the clockqueue_intrclock namespace. Also,
"reprogram" is a better word for what the function actually does.
cheloha [Fri, 23 Feb 2024 23:01:15 +0000 (23:01 +0000)]
timecounting: start system uptime at 0.0 instead of 1.0
OpenBSD starts the system uptime clock at 1.0 instead of 0.0. We
inherited this behavior from FreeBSD when we imported kern_tc.c.
patrick@ reports that this causes a problem in sdmmc(4) during boot:
the sdmmc_delay() call in sdmmc_init() doesn't block for the full
250ms. This happens because the system hardclock() starts at 0.0 and
executes about hz times, rapidly, to "catch up" to 1.0. This
instantly expires the first hz timeout ticks, hence the short sleep.
Starting the system uptime at 0.0 fixes the problem.
Prompted by patrick@. Tested by patrick@. In snaps since Feb 19 2023.
Thread: https://marc.info/?l=openbsd-tech&m=
170830229732396&w=2
ok patrick@ deraadt@
kettenis [Fri, 23 Feb 2024 21:52:12 +0000 (21:52 +0000)]
There is a 21BY x13s model. Handle it like 21BX.
ok beck@, deraadt@