kettenis [Mon, 1 Aug 2022 20:48:19 +0000 (20:48 +0000)]
Allocate memory for collection translation tables for hardware that needs
it.
ok patrick@
miod [Mon, 1 Aug 2022 20:35:25 +0000 (20:35 +0000)]
Fix bogus indent. NFC
jsg [Mon, 1 Aug 2022 16:18:53 +0000 (16:18 +0000)]
drm/amd/display: Fix wrong format specifier in amdgpu_dm.c
From Hayden Goodfellow
c6e4817ab622f526d6afe9e02c6d85b177b3e846 in linux 5.15.y/5.15.58
655c167edc8c260b6df08bdcfaca8afde0efbeb6 in mainline linux
jsg [Mon, 1 Aug 2022 16:17:17 +0000 (16:17 +0000)]
drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq()
From Dan Carpenter
ec9ec3bc08b18c5b1b2feafd306ea7c348013898 in linux 5.15.y/5.15.58
a35faec3db0e13aac8ea720bc1a3503081dd5a3d in mainline linux
jsg [Mon, 1 Aug 2022 16:15:38 +0000 (16:15 +0000)]
drm/amd/display: invalid parameter check in dmub_hpd_callback
From Jose Exposito
f85a6046f7718f11c6ad015a0ba25d897194b1ac in linux 5.15.y/5.15.58
978ffac878fd64039f95798b15b430032d2d89d5 in mainline linux
jsg [Mon, 1 Aug 2022 16:13:29 +0000 (16:13 +0000)]
drm/amd/display: Don't lock connection_mutex for DMUB HPD
From Nicholas Kazlauskas
760fe32034931a8c97c773edef2f1b7c7346f43a in linux 5.15.y/5.15.58
d82b3266ef88dc10fe0e7031b2bd8ba7eedb7e59 in mainline linux
jsg [Mon, 1 Aug 2022 16:11:08 +0000 (16:11 +0000)]
drm/amd/display: Fix surface optimization regression on Carrizo
From Nicholas Kazlauskas
c2b484d784c8dfc3eb62fd4f9ff11515b6e78e19 in linux 5.15.y/5.15.58
62e5a7e2333a9f5395f6a9db766b7b06c949fe7a in mainline linux
jsg [Mon, 1 Aug 2022 16:08:58 +0000 (16:08 +0000)]
drm/amd/display: Optimize bandwidth on following fast update
From Nicholas Kazlauskas
9581511948582a0ed8da03fb91d2ab658087283d in linux 5.15.y/5.15.58
34316c1e561db0b24e341029f04a5a5bead9a7bc in mainline linux
jsg [Mon, 1 Aug 2022 16:06:06 +0000 (16:06 +0000)]
drm/amd/display: Reset DMCUB before HW init
From Nicholas Kazlauskas
b3f16976b9ed7afafa2caf12ef5539fafc34d48d in linux 5.15.y/5.15.58
791255ca9fbe38042cfd55df5deb116dc11fef18 in mainline linux
jsg [Mon, 1 Aug 2022 16:04:24 +0000 (16:04 +0000)]
drm/amd/display: Ignore First MST Sideband Message Return Error
From Fangzhi Zuo
c7720f23bb93628f30f16d033eaefbe2540f1b5e in linux 5.15.y/5.15.58
acea108fa067d140bd155161a79b1fcd967f4137 in mainline linux
jsg [Mon, 1 Aug 2022 16:01:50 +0000 (16:01 +0000)]
drm/amdgpu/display: add quirk handling for stutter mode
From Alex Deucher
8bae037b0fb429466fed1585440f337396d72efa in linux 5.15.y/5.15.58
3ce51649cdf23ab463494df2bd6d1e9529ebdc6a in mainline linux
jsg [Mon, 1 Aug 2022 16:00:11 +0000 (16:00 +0000)]
drm/amd/display: Fork thread to offload work of hpd_rx_irq
From Wayne Lin
e980e1d978e0eb4c0399cff37f175779237db53b in linux 5.15.y/5.15.58
8e794421bc981586d0af4e959ec76d668c793a55 in mainline linux
jsg [Mon, 1 Aug 2022 15:56:16 +0000 (15:56 +0000)]
drm/amd/display: Add option to defer works of hpd_rx_irq
From Wayne Lin
54740bc4b182c2522c6570c3fb0b96a912982bf3 in linux 5.15.y/5.15.58
410ad92d7fecd30de7456c19e326e272c2153ff2 in mainline linux
jsg [Mon, 1 Aug 2022 15:53:58 +0000 (15:53 +0000)]
drm/amd/display: Support for DMUB HPD interrupt handling
From Jude Shih
734d5ce02cb069cccedc993d8f1dc0ea41cfa3dd in linux 5.15.y/5.15.58
e27c41d5b0681c597ac1894f4e02cf626e062250 in mainline linux
deraadt [Mon, 1 Aug 2022 14:57:19 +0000 (14:57 +0000)]
sync
deraadt [Mon, 1 Aug 2022 14:56:59 +0000 (14:56 +0000)]
some ports bootstraps, and go internals, need a bit more time to adapt
to the padded syscalls going away.
mpi [Mon, 1 Aug 2022 14:15:46 +0000 (14:15 +0000)]
Introduce and use uvm_pagewait() where PG_WANTED is set.
No change in behavior.
ok kn@, semarie@, kettenis@
stsp [Mon, 1 Aug 2022 12:17:30 +0000 (12:17 +0000)]
Raise "staff" login class datasize-cur on arm64 to the value of amd64.
Values for other login classes defined in this file match amd64 already.
ok millert, tb, deraadt
djm [Mon, 1 Aug 2022 11:09:26 +0000 (11:09 +0000)]
avoid double-free in error path introduced in r1.70;
report and fix based on GHPR#332 by v-rzh
ok dtucker@
kettenis [Mon, 1 Aug 2022 09:50:02 +0000 (09:50 +0000)]
KNF
jsg [Mon, 1 Aug 2022 00:04:46 +0000 (00:04 +0000)]
libc string functions were not ported from pwb to v7
https://minnie.tuhs.org/pipermail/tuhs/2017-August/011807.html
ok schwarze@
jsg [Sun, 31 Jul 2022 14:50:32 +0000 (14:50 +0000)]
strlen was in v6 libc (s5/perror.c) but not documented till v7
ok schwarze@
jsing [Sun, 31 Jul 2022 14:38:38 +0000 (14:38 +0000)]
Tidy up some of BN_nist_mod_*
Shuffle variables around for consistency, also ensuring appropriate and
consistent initialisation.
ok tb@
krw [Sun, 31 Jul 2022 14:29:19 +0000 (14:29 +0000)]
The geometry information in stuct disklabel is not used for
anything. Allowing modifications to it or displaying whatever
geometry was in use when the label was created leads to needless
inconsistency with the kernel and with the values displayed by,
e.g., fdisk(8).
Always set label fields d_secsize, d_nsectors, d_ntracks,
d_secpercyl, d_ncylinders to the current values used by the
kernel, obtained via DIOCGPDINFO. Ignore any values from the
on-disk label or the file -R uses.
Nuke editor command 'g' and restrict editor command 'e' to
changing d_type and d_packname.
tb [Sun, 31 Jul 2022 13:41:45 +0000 (13:41 +0000)]
fix indent
denis [Sun, 31 Jul 2022 12:55:31 +0000 (12:55 +0000)]
typo
tb [Sun, 31 Jul 2022 09:48:27 +0000 (09:48 +0000)]
Allow a NULL header in PEM_write{,_bio}()
When PEM_write{,_bio}() were documented by Rich Salz and Richard Levitte,
it was incorrectly stated that the header argument is allowed to be NULL.
This was never true. Instead of fixing the documentation, it was decided
that the API needs a fix, so pull in a variant of OpenSSL
3b9082c8.
ok jsing
kn [Sun, 31 Jul 2022 06:12:20 +0000 (06:12 +0000)]
Add LWN in Gyumri, Shirak Region, Armenia
Armenian: Շիրակ Միջազգային Օդանավակայան
Russian: Аеропорт Ширак
It has exactly one terminal and the small cafe area inside seems bigger than
the check-in area.
djm [Sun, 31 Jul 2022 05:10:36 +0000 (05:10 +0000)]
Randomise the rekey interval a little. Previously, the chacha20
instance would be rekeyed every 1.6MB. This makes it happen at a
random point somewhere in the 1-2MB range.
Feedback deraadt@ visa@, ok tb@ visa@
visa [Sun, 31 Jul 2022 03:31:36 +0000 (03:31 +0000)]
Replace selwakeup() with KNOTE() in audio(4)
KNOTE() is safe to use at IPL_AUDIO. Remove the now-unnecessary
deferring that uses soft interrupts.
Remove selwakeup() calls from audio_detach() because klist_invalidate()
wakes up any remaining kevent/poll/select waiters.
OK mpi@
guenther [Sun, 31 Jul 2022 01:27:31 +0000 (01:27 +0000)]
POSIX 2008 TC2 requires <inttypes.h> to provide wchar_t
ok kettenis@ espie@
patrick [Sat, 30 Jul 2022 21:06:54 +0000 (21:06 +0000)]
Now that we have proper .text and .data sections we need to move dt_blob to
.data. dt_blob is a basic device tree that is populated from ACPI tables
when booting with ACPI instead of DT. Since we're modifying its content we
need to put it somewhere writeable.
Found and proposed by mlarkin@
ok kettenis@ mlarkin@
sthen [Sat, 30 Jul 2022 20:21:45 +0000 (20:21 +0000)]
sync
jsing [Sat, 30 Jul 2022 18:03:36 +0000 (18:03 +0000)]
Use named initialisers for BIGNUMs.
Also move the _bignum_nist_p_.*_sqr static BIGNUMs out of individual
functions.
ok tb@
kettenis [Sat, 30 Jul 2022 17:56:54 +0000 (17:56 +0000)]
Kill virtual address randomization for the EFI runtime. It was a neat idea
but it appears to be too fragile and now that we are using a 48-bit VA space
for the EFI runtime we no longer need to call SetVirtualAddressMap() to
make address fit into our pmap. Unbreaks the x13s.
ok mlarkin@, patrick@
tb [Sat, 30 Jul 2022 17:50:17 +0000 (17:50 +0000)]
Untangle two logic chains in x509_asid.c into something more readable.
ok jsing
tb [Sat, 30 Jul 2022 17:26:01 +0000 (17:26 +0000)]
update copyright years
jsing [Sat, 30 Jul 2022 17:11:38 +0000 (17:11 +0000)]
Reorder functions and remove unnecessary function prototypes.
jsing [Sat, 30 Jul 2022 17:09:45 +0000 (17:09 +0000)]
Update copyright for additional/new code.
jsg [Sat, 30 Jul 2022 16:42:08 +0000 (16:42 +0000)]
rewrite was in Tahoe
ok cheloha@
jsing [Sat, 30 Jul 2022 16:40:23 +0000 (16:40 +0000)]
Provide additional AEAD test cases.
Bring in additional AEAD test cases from BoringSSL.
This provides additional coverage for AES-{128,192,256}-GCM, as well as
Chacha20-Poly1305 and XChaCha20-Poly1305.
Discussed with tb@
jsing [Sat, 30 Jul 2022 16:31:41 +0000 (16:31 +0000)]
Add EVP_aes_192_gcm() as a known AEAD.
jsing [Sat, 30 Jul 2022 16:30:42 +0000 (16:30 +0000)]
Allow the AEAD to be specified for a test file.
Currently, this must be specified per test - allow it to be given as a
command line argument that applies to the entire test file.
jsing [Sat, 30 Jul 2022 16:17:22 +0000 (16:17 +0000)]
Run AEAD tests against EVP_CIPHER implementations.
In addition to running AEAD tests against the EVP_AEAD implementation, also
run them against the EVP_CIPHER implementation where applicable.
This is a perfect example of why EVP_AEAD exists and why EVP_CIPHER is
completely unsuited for use with AEADs...
jsing [Sat, 30 Jul 2022 16:12:40 +0000 (16:12 +0000)]
Allow quoted ASCII strings as input for AEAD regress.
Currently, each line in the text file is expected to be string of
hexadecimal digits. In addition to this, allow a line to be given as an
quoted ASCII string.
cheloha [Sat, 30 Jul 2022 15:57:35 +0000 (15:57 +0000)]
sleep.1: miscellaneous rewrites, cleanup
Description
- "for a minimum of" is better said "for at least".
- The seconds argument can be zero, so say "non-negative".
- Specify that the number (the whole thing) is decimal to exclude
e.g. hex numbers. It then follows that the optional fraction
must also be decimal.
- No need to inspire the reader to use sleep(1) in any particular way.
It is probably sufficient to demonstrate these patterns in the Examples
section later.
Asynchronous Events
- Note that SIGALRM wakes sleep(1) up "early".
Examples
- Simplify the first example. Parenthetically pointing the reader to
at(1) muddies what is otherwise a trivial example. We can still point
the reader to at(1) in the See Also section later.
- Shorten the interval in the first example. A half hour is not
interactive.
- Get rid of the entire csh(1) example. It's extremely complex and
the bulk of the text is spent explaining things that aren't about
sleep(1) at all.
- Tweak the third example to show the reader that you can sleep
for a fraction of a second, as mentioned in the Description.
Standards
- Prefer active voice.
"The handling of fractional arguments" is better said
"Support for fractional seconds".
Shorten "is provided as" to "is".
History
- Not merely "appeared": "first appeared".
- Note that sleep(1) was reimplemented for 4.4BSD.
Thread: https://marc.info/?l=openbsd-tech&m=
165888826603953&w=2
Lots of nice tweaks from jmc@. Typo spotted by Crystal Kolipe.
ok jmc@
jsing [Sat, 30 Jul 2022 14:49:15 +0000 (14:49 +0000)]
Sort includes.
jsing [Sat, 30 Jul 2022 14:24:33 +0000 (14:24 +0000)]
Less #ifndef OPENSSL_NO_*
We're not going to be compiling without AES or CHACHA/POLY1305 anytime
soon.
kn [Sat, 30 Jul 2022 14:17:42 +0000 (14:17 +0000)]
vmctl create accepts exactly one argument
Make "vmctl create -s3G 1.img 2.img" fail instead of just creating 1.img
and ignoring 2.img.
OK dv cheloha
kn [Sat, 30 Jul 2022 14:15:20 +0000 (14:15 +0000)]
Fix build without intagp
Pull inteldrm_refcnt out of NINTAGP > 0, otherwise it remains undefined but
still used in inteldrm_attachhook().
OK jsg
jsing [Sat, 30 Jul 2022 14:09:00 +0000 (14:09 +0000)]
Fix comment formatting.
jsing [Sat, 30 Jul 2022 14:06:36 +0000 (14:06 +0000)]
Switch to ISC license.
Use Google's ISC license for this code - this was originally being
upstreamed to OpenSSL by Adam Langley, however it was never actually
accepted and eventually ended up in BoringSSL (via commit
dfe3053086).
The same change was made a long time ago for evp/evp_aead.c and others.
jsing [Sat, 30 Jul 2022 13:51:31 +0000 (13:51 +0000)]
Add stack frames to AES-NI x86_64 assembly.
The current AES-NI x86_64 assembly does some strange, although valid
things, such as making internal function calls without creating stack
frames. In this case, the return address lands in the red zone (which it
allows for when making use of the stack) and everything works as expected.
However, this trips a false positive in valgrind, which seems to think that
any data saved on the stack prior to the internal function call is now
"undefined" once the function returns.
Avoid this by actually using stack frames - this brings in most of
6a40ebe86b4 from OpenSSL, omitting the unnecessary explicit stack alignment
(which was apparently added so this code could be used in the Linux kernel
with an incorrectly aligned stack).
Valgrind issue reported by Steffen Jaeckel (@sjaeckel), found via
libstrophe unit tests.
ok tb@
jsing [Sat, 30 Jul 2022 13:42:25 +0000 (13:42 +0000)]
Use ASN1_INTEGER to encode/decode BIGNUM_it.
The current code simply shoves the unvalidated ASN.1 bytes into a BIGNUM on
the hope that other things will detect issues (such as negative values
being flipped to positive). Instead of doing this, decode and validate the
ASN.1 data using ASN1_INTEGER, then convert it to a BIGNUM. Similarly, for
encoding convert from BIGNUM to ASN1_INTEGER and use ASN1_INTEGER encoding.
ok tb@
jsing [Sat, 30 Jul 2022 13:37:17 +0000 (13:37 +0000)]
Provide and use a primitive clear function for BIGNUM_it.
Also tidy up bn_new() while here.
ok tb@
tb [Sat, 30 Jul 2022 11:27:06 +0000 (11:27 +0000)]
Eliminate the somewhat pointless Ij variable
Requested by & ok jsing
tb [Sat, 30 Jul 2022 11:24:52 +0000 (11:24 +0000)]
Transform two || chains into individually checked functions
Requested by and ok jsing
jsg [Sat, 30 Jul 2022 07:19:30 +0000 (07:19 +0000)]
we mention interim BSD releases so change some 4.4BSD use to 4.3BSD-Reno
ok jmc@ schwarze@
kettenis [Fri, 29 Jul 2022 21:34:59 +0000 (21:34 +0000)]
Give to PE/COFF file proper .text and .data sections, and fill in the
characteristics field in the COFF header. Makes our bootloader work in the
x13s. With help from mlarkin@.
ok mlarkin@
kn [Fri, 29 Jul 2022 18:28:32 +0000 (18:28 +0000)]
Mention id(1) -R, reference rtable(4) in route(8)
Fix "ps -o rtable" example description while here.
Initial idea to mention id -R in route(8) from sthen
Feedback OK sthen
semarie [Fri, 29 Jul 2022 17:47:11 +0000 (17:47 +0000)]
Replace the swap extent(9) usage by a blist data structure.
It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't
really scale with gigabytes of swap.
Based on initial work from mpi@
The blist implementation comes from DragonFlyBSD.
The diff adds also a ddb(4) 'show swap' command to show the blist and help
debugging, and fix some off-by-one in size printed during hibernate.
ok mpi@
schwarze [Fri, 29 Jul 2022 17:34:07 +0000 (17:34 +0000)]
Improve the HISTORY sections of glob(7) and glob(3).
1. Make /etc/glob history less wordy and more precise: it was already in v1.
2. Remove the incorrect statement that the Bourne shell first integrated
globbing. The PWB shell already did that in mid-1975, i.e. a least a few
months before Stephen R. Bourne started working on his shell, and the PWB
shell was publicly released with PWB/UNIX 1.0 about two years before v7.
For details, see
https://sjmulder.nl/dl/tuhs/Documentation/AUUGN/AUUGN-V06.6.pdf p. 39-40
OCR repost: https://groups.google.com/g/alt.folklore.computers/c/xW3ZgEnFoFs
From: mash@mips.UUCP (John Mashey)
Newsgroups: net.unix-wizards
Subject: Re: Shell history, true facts, but long
Date: 18 Mar 86 09:05:12 GMT
[...]
3) The "PWB Shell" first appeared in mid-1975.
[...]
4) The Bourne shell work started either in early 1976, or maybe late 1975.
[...]
In "The UNIX Shell", Stephen R. Bourne says:
"The design of the shell is based in part on the original UNIX shell
and the PWB/UNIX shell, some features having been taken from both."
3. Avoid the confusing statement that the glob() function first appeared
in 4.4BSD. Actually, the PWB shell, the Bourne shell (in v7), the first
UCB shell (in 1BSD), and the C shell (in 2BSD) all contained internal
functions either called "glob()" or at least containing "glob" as a part
of their function name.
4. Be more precise regarding when the current functions first appeared:
they were already in Reno.
Joint work with and OK jsg@.
Feedback and OK jmc@.
espie [Fri, 29 Jul 2022 14:26:45 +0000 (14:26 +0000)]
don't leave user guessing after latest "no need to update"
show a "processing" message when we're actually grabbing data
(often from the net). This should be really quick in most cases,
but sometimes, it might take minutes (like for texlive), so that
we know what's going on.
millert [Fri, 29 Jul 2022 13:56:36 +0000 (13:56 +0000)]
Mention that ttyflags needs to be run to update per-device flags.
Also includes some minor cleanup inspired by the NetBSD version.
OK jmc@ sthen@
tb [Fri, 29 Jul 2022 08:37:33 +0000 (08:37 +0000)]
Having a perfect square at this point is not an error. Rather it is
a shortcut bypassing expensive computation, so change goto err to
goto done. Bug introduced in last refactoring before commit.
tb [Fri, 29 Jul 2022 08:32:20 +0000 (08:32 +0000)]
Tweak some comments and whitespace around comments
visa [Fri, 29 Jul 2022 08:23:40 +0000 (08:23 +0000)]
Allocate if_index before queue init
Allocate the index of a new network interface early so that the index
is available when the interface's queues are set up. This avoids
unintended concentration on net_tq(0).
Replace the kernel lock with an rwlock to serialize index map updates.
The kernel lock is not reliable here because the memory allocation
can sleep.
Also, correct the "too many interfaces" condition because the valid
index range is from 1 to USHRT_MAX.
OK bluhm@
bluhm [Thu, 28 Jul 2022 22:19:09 +0000 (22:19 +0000)]
In the kernel exist functions to print routes, but they were not
accessible from ddb. Implement "show all routes" to print routing
tables, and "show route 0xfffffd807e9b0000" for a single route
entry. Note that the rtable id is not part of a route entry, so
it makes no sense to print it there.
OK deraadt@
bluhm [Thu, 28 Jul 2022 22:05:39 +0000 (22:05 +0000)]
Checking the fragment flags of an incoming IP packet does not need
the mutex for the fragment list. Move this code before the critical
section. Use ISSET() to make clear which flags are checked.
OK mvs@
tb [Thu, 28 Jul 2022 20:06:01 +0000 (20:06 +0000)]
Add a second test to validate the tables in the library.
miod [Thu, 28 Jul 2022 16:06:04 +0000 (16:06 +0000)]
Only attempt to set the yp domainname if not yet set; gets rid of an error
message at shutdown.
tweaks & ok deraadt@
tb [Thu, 28 Jul 2022 16:03:19 +0000 (16:03 +0000)]
Fix RFC number in comment
claudio [Thu, 28 Jul 2022 14:05:13 +0000 (14:05 +0000)]
Rework kroute_remove(), it uses a struct kroute_full and does most of
the work internally. Removes a bunch of duplicated code and simplifies
code further.
Input and OK tb@
deraadt [Thu, 28 Jul 2022 13:11:48 +0000 (13:11 +0000)]
whitespace found during a read-thru; ok claudio
kn [Thu, 28 Jul 2022 13:11:44 +0000 (13:11 +0000)]
Zap prototypes for nonexistent nd6_setmtu() and in6_ifdel()
Removed in 2015 and 2002, respectively.
OK claudio
kn [Thu, 28 Jul 2022 13:10:37 +0000 (13:10 +0000)]
Zap outdated nd6_free() comment about static
Added in 2002 r1.48 "sync with latest KAME [...]" along the attribute,
but nd6_free() became a global void function in 2017 r1.212.
Afaik static kernel functions are avoided to aid ddb'ugging and I
presume the "significant changes in the kernel" bits of the comment stem
from something 20 years ago no longer holding true today.
Afterall, this change has been safe for five years.
OK claudio
mbuhl [Thu, 28 Jul 2022 12:27:29 +0000 (12:27 +0000)]
Release PF und NET lock before calling copyin for DIOCXCOMMIT.
OK sashan, bluhm
claudio [Thu, 28 Jul 2022 10:41:18 +0000 (10:41 +0000)]
Remove F_DOWN, it is no longer used and reshuffle the other flags a bit
to group them a bit better.
OK tb@
claudio [Thu, 28 Jul 2022 10:40:25 +0000 (10:40 +0000)]
Adjust bgpctl show fib output.
Remove F_DOWN from flags since kroutes can no longer be marked down.
Also clean up the flag printing code and printf() and increase the size
of destionation and gateway so that more IPv6 addrs fit.
OK tb@
espie [Thu, 28 Jul 2022 09:09:43 +0000 (09:09 +0000)]
synch with reality
kevlo [Thu, 28 Jul 2022 00:56:02 +0000 (00:56 +0000)]
Remove bogus mtw_read_cfg.
ok hastings@
deraadt [Wed, 27 Jul 2022 23:06:50 +0000 (23:06 +0000)]
Place ypldap with ypserv, inside the $domainname check, since it also
has the same requirement.
guenther [Wed, 27 Jul 2022 22:24:26 +0000 (22:24 +0000)]
Revert _RuneLocale struct changes until mklocale reacharound
can be untangled.
Problem noted by tb@
kettenis [Wed, 27 Jul 2022 21:01:38 +0000 (21:01 +0000)]
Postpone calling the EFI SetVirtualAddressMap() interface until efi(4)
attaches. This prevents us from having to map the various EFI memory regions
early on. These early mappings use 1G blocks. On Apple M1 systems, these
blocks may overlap memory that isn't accessable. The CPU may speculatively
access this inaccessable memory which will result in SError exceptions.
ok deraadt@
kettenis [Wed, 27 Jul 2022 20:26:17 +0000 (20:26 +0000)]
Support "empty" phandles in interrups-extended properties. This is needed
to support the device tree binding for the "apple,admac" controller.
ok visa@, patrick@
kettenis [Wed, 27 Jul 2022 20:18:46 +0000 (20:18 +0000)]
Partially catch up with device tree bindings in mainline Linux.
Initialize the burst size register such that DMA channels that haven't
been initialized by Apple's bootloader also work.
ok patrick@
guenther [Wed, 27 Jul 2022 20:00:11 +0000 (20:00 +0000)]
Since we only do US-ASCII and UTF-8, several parts of the locale
data are unused and unnecessary, so delete them: rl_tabs, rl_magic,
rl_encoding, and rl_invalid_rune.
ok schwarze@
kn [Wed, 27 Jul 2022 19:42:22 +0000 (19:42 +0000)]
Print poll(2) errno
Distinguish between return values -1 (errno set) and 0.
OK kettenis
tb [Wed, 27 Jul 2022 19:22:45 +0000 (19:22 +0000)]
Adjust a comment to reflect reality, minor code tweaks.
claudio [Wed, 27 Jul 2022 17:23:17 +0000 (17:23 +0000)]
There is no need to track both F_BGPD and F_KERNEL anymore.
Remove F_KERNEL and replace the checks using the F_BGPD flag.
Also do not convert the priority in kr_tofull() instead provide
kr_priority() which does this and is used by the bgpctl imsg
commands. Also in dispatch_rtmsg_addr() convert to RTP_MINE if
the priority is equal to the configured priority.
OK tb@
bluhm [Wed, 27 Jul 2022 17:05:56 +0000 (17:05 +0000)]
srp_finalize() takes two parameter, but only one was documented.
OK jmatthew@
miod [Wed, 27 Jul 2022 17:01:02 +0000 (17:01 +0000)]
Force disabling the use of delay slots. This is ugly but gets the compiler
to produce 99+% correct code at all optimization levels, and can help people
who would like to tinker a bit with the backend.
(note m88k ports still use gcc 3 at the moment)
kn [Wed, 27 Jul 2022 12:32:03 +0000 (12:32 +0000)]
Fix reconstructed softraid bootline
With softraid, OBP's boot-file variable aka. bootline may contain the
sofraid volume name and kernel file name delimited by a double colon, e.g.
"sr0", "sr0a", "sr0:", "sr0a:", "sr0:/bsd" or "sr0a:/bsd".
ofwboot parses this string, may fill in optional partition number ("a")
and/or optional kernel file name ("/bsd") and always prints the fully
qualified string reconstructed from parts as "Booting <bootline>":
{0} ok boot my-devalias sr0
[...]
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and args: sr0
[...]
Booting sr0:a/bsd
[...]
{0} ok boot my-devalias sr0a:/bsd
[...]
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and args: sr0a:/bsd
[...]
Booting sr0:a/bsd
[...]
Swap partition and delimiter to fix the reconstructed string, making it
suitable for copy/paste:
Booting sr0a:/bsd
This has not been an issue since the reconstructed string is only printed
and not (re)used anywhere.
OK kettenis
mbuhl [Wed, 27 Jul 2022 12:28:27 +0000 (12:28 +0000)]
Remove redundant bzero, the pfctl struct memset later on.
Also memset the pfctl struct in pfctl_reset.
OK jan@
jsg [Wed, 27 Jul 2022 07:08:34 +0000 (07:08 +0000)]
now that llist is fixed enable more of i915 __notify_execute_cb()
this path is called when running the intel xorg driver on broadwell
jsg [Wed, 27 Jul 2022 06:57:06 +0000 (06:57 +0000)]
fix llist_for_each_entry*
enabling more of __notify_execute_cb() and running the intel xorg driver
on broadwell would fault in __notify_execute_cb() on
movq 0x38(%rsi),%r12
offsetof(struct execute_cb, work.node.llist) 0x38
llist_entry(NULL must not return NULL, it needs to wrap around
and return NULL minus the offset
the iterators stop when the offset added back to the result of
llist_entry() is NULL
they test that the first node is not NULL or that the next pointer
stored in a previous iteration of the loop is not NULL
hastings [Wed, 27 Jul 2022 06:41:04 +0000 (06:41 +0000)]
Enumerate and shift PHY mode bits.
ok stsp@, jmatthew@, kevlo@
daniel [Wed, 27 Jul 2022 01:44:25 +0000 (01:44 +0000)]
retire Rise CPU identification code
The Rise mp6 was an x86 compatible CPU that was available for about
a year from 1998 to 1999. Only the Kirin core was ever available
while the Lynx core did not make it to market. Shortly after this
CPU was released, SiS acquired Rise's technology and integrated it
into their SiS55x SoC which used a different vendor string.
Given how uncommon Rise CPUs are and given that we don't do anything
if we detect such a CPU, remove the small amount of code used to
identify them. OpenBSD should continue to run on these CPUs, they
just won't be recognized as Rise CPUs explicitly.
It is suspected that in the current code, a Rise CPU would not show
CX8 in the dmesg despite supporting the CMPXCHG8B instruction. The
Rise datasheet says that this cpuid feature bit is set to 0 to
"circumvent a reported bug in Windows NT". This is only a cosmetic
issue though as our kernel does not use CMPXCHG8B and our toolchain
assumes it exists (we default to -march=i586).
An interesting writeup on this topic is available here:
https://www.geoffchappell.com/studies/windows/km/cpu/cx8.htm
ok mlarkin@, deraadt@, jsg@
tb [Tue, 26 Jul 2022 19:50:06 +0000 (19:50 +0000)]
Do not pass input length <= 0 to the cipher handlers
Input length < 0 is an error and input length == 0 can result in
strange effects in some ciphers, except in CCM mode, which is extra
special.
Based on OpenSSL
420cb707 by Matt Caswell and Richard Levitte
found by & ok jsing
claudio [Tue, 26 Jul 2022 17:12:40 +0000 (17:12 +0000)]
No need to check RB_REMOVE() return value if kif is not NULL.
Therefor check that in the IFAN_DEPARTURE case the interface was found
before calling kif_remove.
Idea and OK tb@