openbsd
13 months agosignificantly increase the speed of pkg-config by not going to the env
espie [Fri, 22 Sep 2023 07:28:31 +0000 (07:28 +0000)]
significantly increase the speed of pkg-config by not going to the env
all the time.

fully tested thru a src/x/ports build

13 months agomove simplebusvar.h so it can be used without ifdef
jsg [Fri, 22 Sep 2023 01:10:43 +0000 (01:10 +0000)]
move simplebusvar.h so it can be used without ifdef
ok kettenis@ phessler@

13 months agoRemove REGRESS_FULL. It is not documented, just hides some tests
bluhm [Thu, 21 Sep 2023 21:22:43 +0000 (21:22 +0000)]
Remove REGRESS_FULL.  It is not documented, just hides some tests
and its purpose is unknown.

13 months agoRemove cap_mkdb regress. The program fails as -i option has been
bluhm [Thu, 21 Sep 2023 21:08:48 +0000 (21:08 +0000)]
Remove cap_mkdb regress.  The program fails as -i option has been
removed.  But the test expects failure and always passes.  There
is nothing tested anymore.

13 months agoAdd rsync to subdir to create obj. With obj directory rsync test
bluhm [Thu, 21 Sep 2023 20:55:02 +0000 (20:55 +0000)]
Add rsync to subdir to create obj.  With obj directory rsync test
passes also when run as root.

13 months agoProperly set up the IOMMU stream ID mapping. Needed for upcoming changes
kettenis [Thu, 21 Sep 2023 20:26:17 +0000 (20:26 +0000)]
Properly set up the IOMMU stream ID mapping.  Needed for upcoming changes
to apldart(4).

ok patrick@

13 months agoEncode the device tree node in the pci tag like we do in aplpcie(4) so that
patrick [Thu, 21 Sep 2023 19:39:41 +0000 (19:39 +0000)]
Encode the device tree node in the pci tag like we do in aplpcie(4) so that
PCI device drivers can have access to device tree properties, e.g. to allow
qwx(4) to retrieve the calibration variant.

ok kettenis@

13 months ago--csv is an extension; ok millert
jmc [Thu, 21 Sep 2023 18:16:12 +0000 (18:16 +0000)]
--csv is an extension; ok millert

13 months agoFix a potential out-of-bounds read caused by the big-endian fix.
millert [Thu, 21 Sep 2023 17:19:06 +0000 (17:19 +0000)]
Fix a potential out-of-bounds read caused by the big-endian fix.

We must store a UTF-32 empty string, not UTF-8 empty string, for
an empty CCL.  Found running the awk test suite with address sanitizer.

13 months agoDocument LC_CTYPE.
schwarze [Thu, 21 Sep 2023 16:30:54 +0000 (16:30 +0000)]
Document LC_CTYPE.
Based on a diff from millert@ with additions by me.
Feedback and OK millert@.

13 months agomake history less verbose
jsg [Thu, 21 Sep 2023 13:51:50 +0000 (13:51 +0000)]
make history less verbose
ok schwarze@ millert@

13 months agoMove code inside exit1() to better spots.
claudio [Thu, 21 Sep 2023 13:49:25 +0000 (13:49 +0000)]
Move code inside exit1() to better spots.

- PS_PROFIL bit is moved into the process cleanup block where it belongs
- The proc read-only limit cache cleanup is moved up right after clearing
  p->p_fd cache. lim_free() can potentially sleep and so needs to be
  above the line where p_stat is set to SDEAD.

With and OK jca@

13 months agoenable softraid(4) in ramdisk
kn [Thu, 21 Sep 2023 12:11:34 +0000 (12:11 +0000)]
enable softraid(4) in ramdisk

No boot support as per manual, but it already has bio(4) and bioctl(8);
complete enable use of software RAID.

OK, run-tested gkoehler

13 months agobelated iwn(4) man page update: 40MHz channels are supported since Nov 2021
stsp [Thu, 21 Sep 2023 09:07:53 +0000 (09:07 +0000)]
belated iwn(4) man page update: 40MHz channels are supported since Nov 2021

13 months agoNuke trailing whitespace.
krw [Thu, 21 Sep 2023 00:05:36 +0000 (00:05 +0000)]
Nuke trailing whitespace.

13 months agoSupport --version option like upstream awk but don't document it.
millert [Wed, 20 Sep 2023 16:57:12 +0000 (16:57 +0000)]
Support --version option like upstream awk but don't document it.

Upstream awk has supported --version for a long time but does not
support -V like our awk does.  Both options are supported by gawk.

13 months agoUse awk_mb_cur_max in nawk_convert() instead of MB_CUR_MAX.
millert [Wed, 20 Sep 2023 16:49:13 +0000 (16:49 +0000)]
Use awk_mb_cur_max in nawk_convert() instead of MB_CUR_MAX.

13 months agoBump LibreSSL version
tb [Wed, 20 Sep 2023 11:42:25 +0000 (11:42 +0000)]
Bump LibreSSL version

13 months agoFix path to dist-tuple.pattern
tb [Tue, 19 Sep 2023 20:50:40 +0000 (20:50 +0000)]
Fix path to dist-tuple.pattern

13 months agotypo; from Jim Spath
deraadt [Tue, 19 Sep 2023 20:37:07 +0000 (20:37 +0000)]
typo; from Jim Spath

13 months agoImport the DVFS code from arm64.
kettenis [Tue, 19 Sep 2023 19:20:33 +0000 (19:20 +0000)]
Import the DVFS code from arm64.

ok jca@, jmatthew@, jsing@

13 months agoInstead of adjusting PLL0 to scale the CPU frequency, use the divider
kettenis [Tue, 19 Sep 2023 19:15:08 +0000 (19:15 +0000)]
Instead of adjusting PLL0 to scale the CPU frequency, use the divider
of the actual CPU clock.  This prevents one of the GMAC0 clocks changing
when we change the CPU frequency, which would break one of the Ethernet
ports on the VisionFive 2 v1.2a.

However, since the firmware configures PLL0 to 1 GHz, we still need to
bump it up to 1.5 GHz in order to reach the highest supported CPU clock
rates.

ok jmatthew@, jca@, jsing@

13 months agoetc: drop vestiges of obsolete DSA ssh host keys
naddy [Tue, 19 Sep 2023 15:02:54 +0000 (15:02 +0000)]
etc: drop vestiges of obsolete DSA ssh host keys

It has been 8 years since DSA keys were disabled by default for
ssh/sshd, and 15 months since ssh-keygen -A belatedly stopped
generating DSA host keys.

ok semarie@ deraadt@

13 months agoavoid c99 for-scope variable decl
jsg [Tue, 19 Sep 2023 14:14:35 +0000 (14:14 +0000)]
avoid c99 for-scope variable decl
ok jmatthew@

13 months agodrm/amd/display: Fix a bug when searching for insert_above_mpcc
jsg [Tue, 19 Sep 2023 12:54:40 +0000 (12:54 +0000)]
drm/amd/display: Fix a bug when searching for insert_above_mpcc

From Wesley Chalmers
77b49370a261c9c79587d4a83960d5db39ee6cfa in linux-6.1.y/6.1.54
3d028d5d60d516c536de1ddd3ebf3d55f3f8983b in mainline linux

13 months agodrm/amdgpu: register a dirty framebuffer callback for fbcon
jsg [Tue, 19 Sep 2023 12:52:45 +0000 (12:52 +0000)]
drm/amdgpu: register a dirty framebuffer callback for fbcon

From Hamza Mahfooz
cb30ff2adb10a660ded094b088aca763aaf74dea in linux-6.1.y/6.1.54
0a611560f53bfd489e33f4a718c915f1a6123d03 in mainline linux

13 months agodrm/amd/display: Remove wait while locked
jsg [Tue, 19 Sep 2023 12:49:35 +0000 (12:49 +0000)]
drm/amd/display: Remove wait while locked

From Gabe Teeger
b53fee19ec5e07e5553f362cad8a3e00cf6d16ab in linux-6.1.y/6.1.54
5a3ccb1400339268c5e3dc1fa044a7f6c7f59a02 in mainline linux

13 months agodrm/amd/display: always switch off ODM before committing more streams
jsg [Tue, 19 Sep 2023 12:46:20 +0000 (12:46 +0000)]
drm/amd/display: always switch off ODM before committing more streams

From Wenjing Liu
2d7a6fcb1f232c91fe405161d2ba5731ccb97a34 in linux-6.1.y/6.1.54
49a30c3d1a2258fc93cfe6eea8e4951dabadc824 in mainline linux

13 months agodrm/amd/display: prevent potential division by zero errors
jsg [Tue, 19 Sep 2023 12:42:34 +0000 (12:42 +0000)]
drm/amd/display: prevent potential division by zero errors

From Hamza Mahfooz
ff536a96687cf976d89bed08d40fcaae6bf50304 in linux-6.1.y/6.1.54
07e388aab042774f284a2ad75a70a194517cdad4 in mainline linux

13 months agodrm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma
jsg [Tue, 19 Sep 2023 12:39:18 +0000 (12:39 +0000)]
drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma

From Melissa Wen
e1769b1dfcaebb7e4272528fa2f198c6549f619b in linux-6.1.y/6.1.54
57a943ebfcdb4a97fbb409640234bdb44bfa1953 in mainline linux

13 months agodrm/i915/gvt: Drop unused helper intel_vgpu_reset_gtt()
jsg [Tue, 19 Sep 2023 12:36:35 +0000 (12:36 +0000)]
drm/i915/gvt: Drop unused helper intel_vgpu_reset_gtt()

From Sean Christopherson
bd9bd085c6816885dedcd690de22d088975e6df2 in linux-6.1.y/6.1.54
a90c367e5af63880008e21dd199dac839e0e9e0f in mainline linux

13 months agodrm/i915/gvt: Put the page reference obtained by KVM's gfn_to_pfn()
jsg [Tue, 19 Sep 2023 12:34:56 +0000 (12:34 +0000)]
drm/i915/gvt: Put the page reference obtained by KVM's gfn_to_pfn()

From Sean Christopherson
2b7510bb92c1fc19292801778e971cbb46e2499f in linux-6.1.y/6.1.54
708e49583d7da863898b25dafe4bcd799c414278 in mainline linux

13 months agodrm/i915/gvt: Verify pfn is "valid" before dereferencing "struct page"
jsg [Tue, 19 Sep 2023 12:31:43 +0000 (12:31 +0000)]
drm/i915/gvt: Verify pfn is "valid" before dereferencing "struct page"

From Sean Christopherson
f5738399ed965be3ba734bd039bf96a455bb5ac0 in linux-6.1.y/6.1.54
f046923af79158361295ed4f0a588c80b9fdcc1d in mainline linux

13 months agodrm/i915: mark requests for GuC virtual engines to avoid use-after-free
jsg [Tue, 19 Sep 2023 12:30:02 +0000 (12:30 +0000)]
drm/i915: mark requests for GuC virtual engines to avoid use-after-free

From Andrzej Hajda
8017a27cec32eac8c8f9430b0a3055840136b856 in linux-6.1.y/6.1.54
5eefc5307c983b59344a4cb89009819f580c84fa in mainline linux

13 months agoDocument the new 'show proc /t TID' way of showing a proc via thread id.
claudio [Tue, 19 Sep 2023 11:36:33 +0000 (11:36 +0000)]
Document the new 'show proc /t TID' way of showing a proc via thread id.

13 months agoImprove the output of ddb "show proc" command
claudio [Tue, 19 Sep 2023 11:35:30 +0000 (11:35 +0000)]
Improve the output of ddb "show proc" command

Include missing fields -- like the sleep channel and message -- and
show both the PID and TID of the proc.
Also add '/t' as an argument that can be used to specify a proc by TID
instead of by address.
OK mpi@

13 months agoAdd a KASSERT for p->p_wchan == NULL to setrunqueue()
claudio [Tue, 19 Sep 2023 11:31:51 +0000 (11:31 +0000)]
Add a KASSERT for p->p_wchan == NULL to setrunqueue()

There is the same check in sched_chooseproc() but that is too late
to know where the bad insertion into the runqueue was done.
OK mpi@

13 months agoBefore coredump or in pledge_fail use SINGLE_UNWIND to stop all threads.
claudio [Tue, 19 Sep 2023 10:43:33 +0000 (10:43 +0000)]
Before coredump or in pledge_fail use SINGLE_UNWIND to stop all threads.

SINGLE_UNWIND unwinds to the kernel boundary. On the other hand
SINGLE_SUSPEND will sleep inside tsleep(9) and other sleep functions.
Since the code will exit1() very soon after it is better to already unwind.
Now one could argue that for coredumps all threads should stop asap to
get a clean dump. Using SINGLE_UNWIND the sleep will fail with ERESTART
and no copyout should happen in that case.

This is a bit of a workaround since SINGLE_SUSPEND has a small race
where single_thread_wait() returns before all threads are really stopped.
When SINGLE_EXIT is called quickly after this can blow up inside
sleep_finish.

Reported-by: syzbot+3ef066fcfaf991f2ac2c@syzkaller.appspotmail.com
OK mpi@ kettenis@

13 months agoMention a subtle difference between PEM_def_callback(3) and the example.
schwarze [Tue, 19 Sep 2023 09:40:35 +0000 (09:40 +0000)]
Mention a subtle difference between PEM_def_callback(3) and the example.
It's relevant not only for the example, but also because the functions
documented here use PEM_def_callback(3) by default, and that exhibits
surprising and potentially dangerous behaviour by not NUL-terminating.

OK tb@

13 months agoFix a couple of mouse mode flag names.
nicm [Tue, 19 Sep 2023 08:35:44 +0000 (08:35 +0000)]
Fix a couple of mouse mode flag names.

13 months agoRemove the duplicate documentation of pem_password_cb(3).
schwarze [Tue, 19 Sep 2023 08:18:13 +0000 (08:18 +0000)]
Remove the duplicate documentation of pem_password_cb(3).
While here, also:

* Avoid the misleading term "default password callback" because none of
the functions in SSL_CTX_use_certificate(3) support overriding it.
* Do not talk about "storing", "writing", and "encryption" since the cb
passed to SSL_CTX_set_default_passwd_cb(3) is never used for any of that.
* List the functions using cb.
* Document what happens by default.
* Remove the misleading words "which must be provided by the application"
because all this is actually optional.
* Make several wordings more precise.
* Below EXAMPLES, fix argument naming to agree with pem_password_cb(3),
clarify the description of what the example does, and, as suggested by tb@,
use strlcpy(3).

OK tb@

13 months agoMore 0/NULL confusions in SSL_CTX_new()
tb [Tue, 19 Sep 2023 01:22:31 +0000 (01:22 +0000)]
More 0/NULL confusions in SSL_CTX_new()

13 months agoFix some NULL/0 misspellings in SSL_CTX_new()
tb [Tue, 19 Sep 2023 01:19:45 +0000 (01:19 +0000)]
Fix some NULL/0 misspellings in SSL_CTX_new()

13 months agoCompare int value against 0, not '\0', for consistency.
millert [Tue, 19 Sep 2023 01:14:05 +0000 (01:14 +0000)]
Compare int value against 0, not '\0', for consistency.

13 months agoFix a bad cast to char * that causes incorrect results on big endian.
millert [Mon, 18 Sep 2023 23:33:21 +0000 (23:33 +0000)]
Fix a bad cast to char * that causes incorrect results on big endian.

Now that awk stores chars as int we need to cast the Node * to int *.

13 months agoaesni_ctr32_encrypt_blocks() is called indirectly from C code, so it
deraadt [Mon, 18 Sep 2023 22:38:16 +0000 (22:38 +0000)]
aesni_ctr32_encrypt_blocks() is called indirectly from C code, so it
needs endbr64
ok kettenis tb

13 months agoDisable utf-8 for non-multibyte locales, such as C or POSIX.
millert [Mon, 18 Sep 2023 19:32:19 +0000 (19:32 +0000)]
Disable utf-8 for non-multibyte locales, such as C or POSIX.

This makes it possible to get the old awk behavior (where chars are
bytes) by setting LC_CTYPE to C or POSIX.  OK schwarze@

13 months agoFavor jot while generating characters within the [1, 256) range as awk
anton [Mon, 18 Sep 2023 18:33:17 +0000 (18:33 +0000)]
Favor jot while generating characters within the [1, 256) range as awk
recently became utf-8 aware.

ok millert@

13 months agoremove tls_reset(3) from the NAME, SYNOPSIS, and HISTORY sections
schwarze [Mon, 18 Sep 2023 17:25:15 +0000 (17:25 +0000)]
remove tls_reset(3) from the NAME, SYNOPSIS, and HISTORY sections
because it is documented in the separate tls_client(3) manual page

13 months agoReuse pmap_pte_insert() in pmap_clear_modify()
jca [Mon, 18 Sep 2023 17:01:41 +0000 (17:01 +0000)]
Reuse pmap_pte_insert() in pmap_clear_modify()

Stricter code which further reduces the difference between the pmap of
arm64 and riscv64 and also the number of functions where member pted_pte
is manipulated.

ok drahn@ kettenis@

13 months agoPEM_def_callback(3) does not truncate its argument but merely the copy,
schwarze [Mon, 18 Sep 2023 15:26:46 +0000 (15:26 +0000)]
PEM_def_callback(3) does not truncate its argument but merely the copy,
plus a few wording improvements

13 months agoadd --csv to usage(), and reformat it to match manual; while here,
jmc [Mon, 18 Sep 2023 15:20:48 +0000 (15:20 +0000)]
add --csv to usage(), and reformat it to match manual; while here,
reformat a lengthy line in awk.1;

ok millert

13 months ago2 cases of c99 for-scope variable decl, when a variable already exists
deraadt [Mon, 18 Sep 2023 15:16:22 +0000 (15:16 +0000)]
2 cases of c99 for-scope variable decl, when a variable already exists
in scope.  but a 3rd similar situation in the same scope exists also,
which does not create a new variable, and uses the upper scope variable.
Pretty sloppy stuff.
ok millert

13 months agoRewrite RSA_get_ex_new_index(3) and CRYPTO_set_ex_data(3) from scratch.
schwarze [Mon, 18 Sep 2023 14:49:43 +0000 (14:49 +0000)]
Rewrite RSA_get_ex_new_index(3) and CRYPTO_set_ex_data(3) from scratch.
The defects of the old pages were too numerous to list in full but included
vagueness, gaps, misleading statements, bad ordering, and duplication.
Use my Copyright since none of the text we inherited from OpenSSL remains.

Without doing a thorough review, tb@ thinks he likes the new pages
after quickly reading through both of them.

13 months agomatch style used in revision 1.16 of src/etc/examples/radiusd.conf
sobrado [Mon, 18 Sep 2023 14:44:21 +0000 (14:44 +0000)]
match style used in revision 1.16 of src/etc/examples/radiusd.conf

ok yasuoka@

13 months agosync to 7.4
deraadt [Mon, 18 Sep 2023 14:25:04 +0000 (14:25 +0000)]
sync to 7.4

13 months agoThe CTA-861 standards have been updated to refer to opRGB instead
robert [Mon, 18 Sep 2023 13:29:00 +0000 (13:29 +0000)]
The CTA-861 standards have been updated to refer to opRGB instead
of AdobeRGB. The official standard is in fact named opRGB, so
switch to that.

The two old defines referring to ADOBERGB in the public API are
put under #ifndef _KERNEL and a comment mentions that they are
deprecated.

This keeps us in sync with the linux header.

ok feinerer@, mpi@, deraadt@

13 months agocrank to 7.4-beta
deraadt [Mon, 18 Sep 2023 13:18:24 +0000 (13:18 +0000)]
crank to 7.4-beta

13 months agocrank to 7.4-beta
deraadt [Mon, 18 Sep 2023 13:16:13 +0000 (13:16 +0000)]
crank to 7.4-beta

13 months agoAdd 100GB LR4 Ethernet capability and map it to IFM_100G_LR4.
jmatthew [Mon, 18 Sep 2023 06:47:21 +0000 (06:47 +0000)]
Add 100GB LR4 Ethernet capability and map it to IFM_100G_LR4.
This isn't listed in the public PRM but it can be found in the Linux driver.

from Olivier Croquin

13 months agoclockintr.h: forward-declare "struct cpu_info" for clockintr_establish()
cheloha [Sun, 17 Sep 2023 15:24:35 +0000 (15:24 +0000)]
clockintr.h: forward-declare "struct cpu_info" for clockintr_establish()

With input from claudio@ and deraadt@.

13 months agostruct clockintr_queue: rename "cq_est" to "cq_all"
cheloha [Sun, 17 Sep 2023 15:05:44 +0000 (15:05 +0000)]
struct clockintr_queue: rename "cq_est" to "cq_all"

"cq_all" is a more obvious name than "cq_est".  It's the list of all
established clockintrs.  Duh.

13 months agoclockintr: remove clockintr_init(), clockintr_flags
cheloha [Sun, 17 Sep 2023 14:50:50 +0000 (14:50 +0000)]
clockintr: remove clockintr_init(), clockintr_flags

All the state initialization once done in clockintr_init() has been
moved to other parts of the kernel.  It's a dead function.  Remove it.

Likewise, the clockintr_flags variable no longer sports any meaningful
flags.  Remove it.  This frees up the CL_* flag namespace, which might
be useful to the clockintr frontend if we ever need to add behavior
flags to any of those functions.

13 months agoUpdate to the One True Awk, 2nd edition (Sep 12, 2023).
millert [Sun, 17 Sep 2023 14:49:44 +0000 (14:49 +0000)]
Update to the One True Awk, 2nd edition (Sep 12, 2023).

This corresponds to the 2nd edition of "The AWK Programming Language"
and adds support for UTF-8 and comma-separated value inputs.

13 months agoscheduler_start: move static timeout structs into callback functions
cheloha [Sun, 17 Sep 2023 13:02:24 +0000 (13:02 +0000)]
scheduler_start: move static timeout structs into callback functions

Move the schedcpu() and update_loadavg() timeout structs from
scheduler_start() into their respective callback functions and
statically initialize them with TIMEOUT_INITIALIZER(9).

The structs are already hidden from the global namespace and the
timeouts are already self-managing, so we may as well fully
consolidate things.

Thread: https://marc.info/?l=openbsd-tech&m=169488184019047&w=2

"Sure." claudio@

13 months agoSkip non-MSI interrupt controllers when looking for one matching the ITS id
jmatthew [Sat, 16 Sep 2023 23:25:16 +0000 (23:25 +0000)]
Skip non-MSI interrupt controllers when looking for one matching the ITS id
given in the IORT node.  Using a non-MSI interrupt controller here will
crash as ic->ic_establish_msi will be NULL.

tested by phessler@
ok phessler@ patrick@

13 months agosync
deraadt [Sat, 16 Sep 2023 19:59:32 +0000 (19:59 +0000)]
sync

13 months agoadd 7.5 syspatch key
robert [Sat, 16 Sep 2023 18:06:26 +0000 (18:06 +0000)]
add 7.5 syspatch key

13 months agoRemove next- and previous-prompt added in error. GitHub issue 3696.
nicm [Sat, 16 Sep 2023 16:18:29 +0000 (16:18 +0000)]
Remove next- and previous-prompt added in error. GitHub issue 3696.

13 months ago7.5 packages key
naddy [Sat, 16 Sep 2023 13:28:39 +0000 (13:28 +0000)]
7.5 packages key

13 months agoadd 7.5 firmware key
sthen [Sat, 16 Sep 2023 11:45:03 +0000 (11:45 +0000)]
add 7.5 firmware key

13 months agoAllow counters_read(9) to take an optional scratch buffer.
mpi [Sat, 16 Sep 2023 09:33:27 +0000 (09:33 +0000)]
Allow counters_read(9) to take an optional scratch buffer.

Using a scratch buffer makes it possible to take a consistent snapshot of
per-CPU counters without having to allocate memory.

Makes ddb(4) show uvmexp command work in OOM situations.

ok kn@, mvs@, cheloha@

13 months agoforgot to kill that
espie [Sat, 16 Sep 2023 09:33:13 +0000 (09:33 +0000)]
forgot to kill that

13 months agoremove empty line in PORTHOME description
op [Sat, 16 Sep 2023 08:01:31 +0000 (08:01 +0000)]
remove empty line in PORTHOME description

13 months agodocument CHECK_LIB_DEPENDS_ARGS
op [Sat, 16 Sep 2023 07:59:44 +0000 (07:59 +0000)]
document CHECK_LIB_DEPENDS_ARGS

13 months agoChange UTF-8 combining to inspect the previous character at the cursor
nicm [Fri, 15 Sep 2023 15:49:05 +0000 (15:49 +0000)]
Change UTF-8 combining to inspect the previous character at the cursor
position rather than keeping the last character from the input stream,
this is how most terminals work and fixes problems with displaying these
characters in vim. GitHub issue 3600.

13 months agoupdate awk book reference for the second edition
jsg [Fri, 15 Sep 2023 15:07:08 +0000 (15:07 +0000)]
update awk book reference for the second edition
it will be published in 2023 with a copyright date of 2024
ok jmc@ millert@

13 months agowork around cpu.h not coming into early scope on all arch
deraadt [Fri, 15 Sep 2023 11:48:48 +0000 (11:48 +0000)]
work around cpu.h not coming into early scope on all arch

13 months agoAlso update usage() to include [-p file].
claudio [Fri, 15 Sep 2023 10:59:02 +0000 (10:59 +0000)]
Also update usage() to include [-p file].

13 months agoEven if support for utsack is very limited, document the option needed.
claudio [Fri, 15 Sep 2023 10:56:46 +0000 (10:56 +0000)]
Even if support for utsack is very limited, document the option needed.
OK mpi@

13 months agoDefault REGRESS_FAIL_EARLY to yes
tb [Fri, 15 Sep 2023 07:13:35 +0000 (07:13 +0000)]
Default REGRESS_FAIL_EARLY to yes

The current fail open behavior may be desirable in some circumstances,
but it is an unexpected and dangerous default since one expects some
kind of feedback when running a test suite. Currently failing tests are
only visible on inspecting the log, which led to unsuspecting people
missing failures several times in the past. Flip the default to fail
closed. For those that want to have the old behavior, it is easy enough
to set the variable to no.

Positive feedback job and schwarze
ok kn

13 months agoAdd -t to source-file, GitHub issue 3473.
nicm [Fri, 15 Sep 2023 06:31:49 +0000 (06:31 +0000)]
Add -t to source-file, GitHub issue 3473.

13 months agoAdd some more WINOPS and a placeholder for SMGRAPHICS.
nicm [Fri, 15 Sep 2023 06:28:15 +0000 (06:28 +0000)]
Add some more WINOPS and a placeholder for SMGRAPHICS.

13 months agoImprove handling of ENOBUFS by not running in a tight loop forever.
florian [Fri, 15 Sep 2023 05:32:00 +0000 (05:32 +0000)]
Improve handling of ENOBUFS by not running in a tight loop forever.

This cherry-picks upstream git commit
0ee44ef384593ed0382d1ce6048d5a9c9440b45c.

Issue reported by landry@, which could be traced back to a buggy WiFi
driver that would constantly return ENOBUFS. This in turn lead
unwind(8) enter a tight loop through poll / sendto without making any
progress and burning 100% cpu.

OK sthen

I missed to commit this file when commiting to unbound.
Pointed out by tb, thanks!

13 months agosatisfy non-c99 compilers
deraadt [Thu, 14 Sep 2023 23:42:56 +0000 (23:42 +0000)]
satisfy non-c99 compilers

13 months agosatisfy non-c99 compilers
deraadt [Thu, 14 Sep 2023 22:42:48 +0000 (22:42 +0000)]
satisfy non-c99 compilers

13 months agoclockintr: move hz(9)-based initialization out to initclocks()
cheloha [Thu, 14 Sep 2023 22:27:09 +0000 (22:27 +0000)]
clockintr: move hz(9)-based initialization out to initclocks()

To separate the hardclock from the clock interrupt subsystem we'll
need to move all related state out first.

hz(9) is set when we return from cpu_initclocks(), so it's safe to
move hardclock_period and roundrobin_period initialization out into
initclocks().  Move hardclock_period itself out into kern_clock.c
alongside the statclock variables.

13 months agoclockintr, scheduler: move statclock handle from clockintr_queue to schedstate_percpu
cheloha [Thu, 14 Sep 2023 22:07:11 +0000 (22:07 +0000)]
clockintr, scheduler: move statclock handle from clockintr_queue to schedstate_percpu

Move the statclock handle from clockintr_queue.cq_statclock to
schedstate_percpu.spc_statclock.  Establish spc_statclock during
sched_init_cpu() alongside the other scheduler clock interrupts.

Thread: https://marc.info/?l=openbsd-tech&m=169428749720476&w=2

13 months agoclockintr, statclock: eliminate clockintr_statclock() wrapper
cheloha [Thu, 14 Sep 2023 20:58:51 +0000 (20:58 +0000)]
clockintr, statclock: eliminate clockintr_statclock() wrapper

- Move remaining statclock variables from kern_clockintr.c to
  kern_clock.c.  Move statclock variable initialization from
  clockintr_init() into initclocks().

- Change statclock() prototype to make it a legal clockintr
  callback function and establish the handle with statclock()
  instead clockintr_statclock().

- Merge the contents of clockintr_statclock() into statclock().
  statclock() can now reschedule itself and handles multiple
  expirations transparently.

- Make statclock_avg visible from sys/systm.h so that clockintr_cpu_init()
  can use it to advance the statclock across suspend/hibernate.

Thread: https://marc.info/?l=openbsd-tech&m=169428749720476&w=2

13 months agouse Fn notation instead of Nm, as the rest of the page does;
jmc [Thu, 14 Sep 2023 19:59:12 +0000 (19:59 +0000)]
use Fn notation instead of Nm, as the rest of the page does;
from josiah frentsos

13 months agoclockintr: move clockintr_advance_random() prototype into sys/clockintr.h
cheloha [Thu, 14 Sep 2023 19:51:17 +0000 (19:51 +0000)]
clockintr: move clockintr_advance_random() prototype into sys/clockintr.h

statclock() is going to need this.  Move the prototype into the public API.

Thread: https://marc.info/?l=openbsd-tech&m=169428749720476&w=2

13 months agoclockintr: replace CL_RNDSTAT with global variable statclock_is_randomized
cheloha [Thu, 14 Sep 2023 19:39:47 +0000 (19:39 +0000)]
clockintr: replace CL_RNDSTAT with global variable statclock_is_randomized

In order to separate the statclock from the clock interrupt subsystem
we need to move all statclock state out into the broader kernel.

Start by replacing the CL_RNDSTAT flag with a new global variable,
"statclock_is_randomized", in kern_clock.c.  Update all clockintr_init()
callers to set the boolean instead of passing the flag.

Thread: https://marc.info/?l=openbsd-tech&m=169428749720476&w=2

13 months agosh(1), ksh(1): reimplement p_tv() with p_ts()
cheloha [Thu, 14 Sep 2023 18:32:03 +0000 (18:32 +0000)]
sh(1), ksh(1): reimplement p_tv() with p_ts()

p_tv() is identical to p_ts().  Better to not have two copies: in
p_tv(), convert the timeval to a timespec and pass it to p_ts().

With input from tb@ and millert@.

Thread: https://marc.info/?l=openbsd-tech&m=169448818503541&w=2

ok tb@ millert@

13 months agoInstead of ld -dc use ld -d, supported by both ld.bfd and ld.lld >= 15
jca [Thu, 14 Sep 2023 16:39:00 +0000 (16:39 +0000)]
Instead of ld -dc use ld -d, supported by both ld.bfd and ld.lld >= 15

Upstream LLVM decided to drop the -dc flag and keep its -d alias for
some time:
  https://github.com/llvm/llvm-project/commit/0688b00fc39fe87ec6dd3d37a732d067ff487f16

So this is only a workaround to let us update llvm to a recent release.
We'll probably need another fix not so distant future.  Another approach
would be to just drop -dc from the linker invocation, and use
cc -fno-common when building instbin with base-gcc (already the default
with base-clang).  But this approach needs more testing than I can
provide, as deraadt@ feared it would break in subtle ways.

ld -d compat alias pointed out by robert@, ok robert@

13 months agovmd(8)/vioblk: use zero-copy approach & vectored io.
dv [Thu, 14 Sep 2023 15:25:43 +0000 (15:25 +0000)]
vmd(8)/vioblk: use zero-copy approach & vectored io.

The original version of the virtio block device dynamically allocated
buffers to hold intermediate data when reading or writing to the
underlying disk fd(s). Since vioblk drivers may chain multiple
segments together, this leads to overly complex logic and on
read(2)/write(2) call per data segment.

Additionally, the virtio block logic in vmd didn't handle segments
that weren't block aligned (e.g. 512 bytes). If a guest provided
unaligned segments, garbage will be read or written.

Since virtio descriptors mimic iovec structures, this changes vmd's
device emulation to use that model. (This is how other hypervisors
emulate virtio devices.) This allows for zero-copy semantics using
iovec's, reducing memcpy and multiple read/write syscalls per io
transaction.

Testing by phessler@ and mlarkin@. OK mlarkin@.

13 months agodocument print-plist-libs
sthen [Thu, 14 Sep 2023 14:06:13 +0000 (14:06 +0000)]
document print-plist-libs

13 months agoReset combine flag only if text is actually processed.
nicm [Thu, 14 Sep 2023 13:01:35 +0000 (13:01 +0000)]
Reset combine flag only if text is actually processed.

13 months agoClarify the interval after 30sec.
yasuoka [Thu, 14 Sep 2023 09:55:28 +0000 (09:55 +0000)]
Clarify the interval after 30sec.

13 months agoRevert the previous. It was committed by my mistake.
yasuoka [Thu, 14 Sep 2023 09:54:31 +0000 (09:54 +0000)]
Revert the previous.  It was committed by my mistake.

13 months agoClarify the interval after 30sec.
yasuoka [Thu, 14 Sep 2023 09:51:14 +0000 (09:51 +0000)]
Clarify the interval after 30sec.