dlg [Wed, 4 Jan 2023 10:31:55 +0000 (10:31 +0000)]
move the pf_state_tree_id type from pfvar.h to pfvar_priv.h.
the pf_state_tree_id type is private to the kernel.
while here, move it from being an RB tree to an RBT tree. this saves
about 12k in pf.o on amd64.
ok sashan@
jsg [Wed, 4 Jan 2023 10:05:44 +0000 (10:05 +0000)]
Michael L. Hitch agreed to rescind clause 3 and 4 in
NetBSD ncr53cxxx.c rev 1.16 osiop.ss rev 1.2
https://mail-index.netbsd.org/source-changes/2009/10/21/msg002215.html
jsg [Wed, 4 Jan 2023 09:34:26 +0000 (09:34 +0000)]
Gordon W. Ross and Bill Studenmund agreed to rescind clause 3 and 4 in
NetBSD zs.c rev 1.49
https://mail-index.netbsd.org/source-changes/2009/10/27/msg002419.html
jsg [Wed, 4 Jan 2023 09:24:14 +0000 (09:24 +0000)]
Gordon W. Ross agreed to rescind clause 3 and 4 in
NetBSD dev_net.c rev 1.15 bootparam.c rev 1.19
https://mail-index.netbsd.org/source-changes/2009/10/21/msg002212.html
jmc [Wed, 4 Jan 2023 07:33:00 +0000 (07:33 +0000)]
- use Fl instead of Ar for print0; from josiah frentsos
- while here, describe it as a primary rather than an option
jsg [Wed, 4 Jan 2023 07:06:08 +0000 (07:06 +0000)]
Ichiro FUKUHARA agreed to rescind clause 3 and 4 in
NetBSD if_ath_cardbus.c rev 1.36
https://mail-index.netbsd.org/source-changes/2009/10/21/msg002189.html
jsg [Wed, 4 Jan 2023 06:33:33 +0000 (06:33 +0000)]
Chuck Cranor rescinded the advertising clause of uvm_mmap.c in
NetBSD rev 1.134 and confirmed with Mike Hibler that the University of
Utah would do the same.
https://mail-index.netbsd.org/source-changes/2011/02/02/msg018021.html
ok deraadt@
dlg [Wed, 4 Jan 2023 03:47:10 +0000 (03:47 +0000)]
fix a comment, no functional change.
dv [Wed, 4 Jan 2023 02:19:19 +0000 (02:19 +0000)]
Typos in vmd error message. No functional change.
dlg [Wed, 4 Jan 2023 02:00:49 +0000 (02:00 +0000)]
move the pf_state_tree rb tree type from pfvar.h to pfvar_priv.h
the pf_state_tree types are kernel private, and are not used by
userland. make build agrees with me.
while here, move the pf_state_tree from the RB macros to the RBT
functions. this shaves about 13k off pf.o on amd64.
ok sashan@
krw [Wed, 4 Jan 2023 01:22:48 +0000 (01:22 +0000)]
Shuffle code a bit to eliminate need for inner loop
variable 'j' in editor_allocspace().
No intentional functional change. Regress still happy.
deraadt [Wed, 4 Jan 2023 00:18:50 +0000 (00:18 +0000)]
on sh/landisk, ELF binaries are currently unpadded between text and rodata.
Comment says because no nx support. Well, we'll soon be able to something
like nx, and need the rodata to not be mingled into the same pages as
executable, so enforce padding.
with kettenis, ok miod
krw [Tue, 3 Jan 2023 23:27:03 +0000 (23:27 +0000)]
No need to call editor_countfree() when displaying all the free
chunks in the 'r' editor command. Just add up chunks as they are
displayed. Eliminates pointless second invocation of
free_chunks().
Increment the chunk pointer rather than using iteration
variable + indexing.
No intentional functional change.
deraadt [Tue, 3 Jan 2023 20:58:05 +0000 (20:58 +0000)]
do not mention dhclient as a dhcp route message sender
job [Tue, 3 Jan 2023 18:19:12 +0000 (18:19 +0000)]
Print the RRDP Session ID and Serial in verbose mode
OK tb@ claudio@
anton [Tue, 3 Jan 2023 15:52:02 +0000 (15:52 +0000)]
Poll battery sensors less frequently.
anton [Tue, 3 Jan 2023 15:51:40 +0000 (15:51 +0000)]
The software id in the request must be copied as is to the response by the
hardware. Leverage the fact that the same id can be anything within [1, 15] by
using a different id per request in a round robin fashion. Makes it easier to
correlate requests and responses while making sense of the debug output.
anton [Tue, 3 Jan 2023 15:50:52 +0000 (15:50 +0000)]
Group more request and response constants.
nicm [Tue, 3 Jan 2023 11:43:24 +0000 (11:43 +0000)]
Query the client terminal for foreground and background colours and if
OSC 10 or 11 is received but no colour has been set inside tmux, return
the colour from the first attached client (probably most people will
have all light or or all dark terminals).
tobhe [Tue, 3 Jan 2023 10:59:00 +0000 (10:59 +0000)]
Disable display backlight on Apple Silicon laptops when suspending.
ok kettenis@ patrick@
guenther [Mon, 2 Jan 2023 23:09:48 +0000 (23:09 +0000)]
Add tfind_user(), for getting a proc* given a user-space TID and
the process* that it should be part of. Use that in clock_get{time,res}(),
thrkill(), and ptrace().
ok jca@ miod@ mpi@ mvs@
kettenis [Mon, 2 Jan 2023 23:03:18 +0000 (23:03 +0000)]
The access type for an instruction storage/segment interrupt should not
include PROT_READ, otherwise faults on executable pages mapped only as
PORT_EXEC will not work.
"obviously correct" deraadt@
kettenis [Mon, 2 Jan 2023 22:41:17 +0000 (22:41 +0000)]
Let the EFI bootloader make a copy of the EFI System Resource Table (ESRT)
and pass it to the kernel.
ok jca@, patrick@
miod [Mon, 2 Jan 2023 19:09:17 +0000 (19:09 +0000)]
Fix the check for the BWX extension introduced in 1.92.
This repairs operation on 21164 processors (not 21164A!) which lack BWX.
Reported by Mark Butt on alpha@
djm [Mon, 2 Jan 2023 07:03:57 +0000 (07:03 +0000)]
regression test for PermitRemoteOpen
djm [Mon, 2 Jan 2023 07:03:30 +0000 (07:03 +0000)]
fix bug in PermitRemoteOpen which caused it to ignore its first
argument unless it was one of the special keywords "any" or "none".
Reported by Georges Chaudy in bz3515; ok dtucker@
dlg [Mon, 2 Jan 2023 05:32:40 +0000 (05:32 +0000)]
use the pf generated toeplitz hash when setting the mbuf flow id.
before this it would use the pf state id, which is just an increasing
number. the toeplitz hash is generated/used by the rest of the
stack, so this encourages consistent flow of traffic through the
system.
kettenis [Sun, 1 Jan 2023 21:45:40 +0000 (21:45 +0000)]
Clear status bits when we receive a host system error. Otherwise the
interrupt keeps firing even if the hos controller has been declared dead.
ok mpi@
miod [Sun, 1 Jan 2023 19:49:17 +0000 (19:49 +0000)]
With the introduction of the PMAP_PREFER_{ALIGN,OFFSET} macros a long time ago,
there are actually no more uses of the PMAP_PREFER() macro left in the kernel.
Remove that macro but keep PMAP_PREFER as a simple #define for it to let uvm
knows the PMAP_PREFER_{ALIGN,OFFSET} macros are available.
ok mpi@
miod [Sun, 1 Jan 2023 17:43:04 +0000 (17:43 +0000)]
Add explicit LL suffixes to large constants to appease some compilers on
32-bit systems.
miod [Sun, 1 Jan 2023 17:00:08 +0000 (17:00 +0000)]
Add explicit LL suffixes to large constants to appease some compilers on
32-bit systems.
miod [Sun, 1 Jan 2023 16:58:23 +0000 (16:58 +0000)]
Add explicit LL suffixes to large constants to appease some compilers on
32-bit platforms; NFCI
ok tb@
millert [Sun, 1 Jan 2023 16:31:20 +0000 (16:31 +0000)]
Round up fractional percentages, as per POSIX.
From nabijaczleweli, OK deraadt@
kettenis [Sun, 1 Jan 2023 11:29:09 +0000 (11:29 +0000)]
Enable power management for PCI devices.
ok mlarkin@, deraadt@
jsg [Sun, 1 Jan 2023 07:00:51 +0000 (07:00 +0000)]
copyright++;
jsg [Sun, 1 Jan 2023 01:34:33 +0000 (01:34 +0000)]
update drm to linux 6.1.2
new hardware support includes
AMD
Raphael, Ryzen 7000 desktop, gfx1036/GC 10.3.6
Mendocino, Ryzen & Athlon 7020 Series mobile APU, gfx1037/GC 10.3.7
Navi 31, gfx1100 dGPU, GC 11.0.0, Radeon RX 7900 XT/XTX
gfx1101 dGPU
gfx1102 dGPU
gfx1103 APU
Thanks to the OpenBSD Foundation for sponsoring this work.
cheloha [Sun, 1 Jan 2023 01:19:18 +0000 (01:19 +0000)]
timeout.9: document new interfaces, miscellaneous rewrites and cleanup
- Document timeout_abs_ts(9).
- Add the kclock arguments to timeout_set_flags(9) and
TIMEOUT_INITIALIZER_FLAGS(9).
- Document KCLOCK_NONE and KCLOCK_UPTIME.
- Mention the static initialization macros alongside timeout_set(9) etc.;
keep relevant information adjacent.
- Mention timeout_add_sec(9) etc. alongside timeout_add(9); keep
relevant information adjacent.
... plus many other cleanups, rewrites, and rearrangements.
Prompted by mvs@ and many others. With input from jmc@, mvs@, kn@,
schwarze@, and probably a few others I have forgotten.
v1: https://marc.info/?l=openbsd-tech&m=
162449274513068&w=2
v2: https://marc.info/?l=openbsd-tech&m=
165851505627764&w=2
v3: https://marc.info/?l=openbsd-tech&m=
167250339811308&w=2
ok jmc@ mvs@ schwarze@
millert [Sat, 31 Dec 2022 21:47:53 +0000 (21:47 +0000)]
Document that -P disables BLOCKSIZE support.
With input from and OK jmc@
cheloha [Sat, 31 Dec 2022 16:06:24 +0000 (16:06 +0000)]
timeout: rename "timeout_at_ts" to "timeout_abs_ts"
I think "abs" ("absolute timeout") is a better mnemonic than
"at" ("at the given time").
The interface is undocumented and there are only two callers, so
renaming it is not a big deal.
probably ok kn@
jsg [Sat, 31 Dec 2022 09:31:39 +0000 (09:31 +0000)]
sync
gkoehler [Sat, 31 Dec 2022 05:06:18 +0000 (05:06 +0000)]
Look for the first 2 mem regions, ignore the rest
Some macppc nvidia graphics cards have a 3rd mem region, but nv(4)
wants to mmap the 1st and 2nd regions.
ok miod@
djm [Sat, 31 Dec 2022 03:36:12 +0000 (03:36 +0000)]
crank libfido2 major version, it depends on libcbor and it just
cranked. ok tb@
djm [Sat, 31 Dec 2022 03:35:21 +0000 (03:35 +0000)]
update to upstream libcbor v.0.10.0 and crank major. Also includes
e308674c5d to fix PR259. This release includes a number of memory
leak fixes.
Disable the upsteam custom allocators feature.
Feedback/ok tb@
Thanks also to Pedro Martelletto for pointing out the new release as
well as PR259.
aoyama [Sat, 31 Dec 2022 02:42:01 +0000 (02:42 +0000)]
Let luna88k's bootloader pass RB_GOODRANDOM to the kernel.
Current bootloader can pass boothowto information to the kernel. It
also has the capability to load random seed data from /etc/random.seed
already. So set RB_GOODRANDOM at the bootloader when loadrandom() has
been finished successfully.
Now the kernel says "random: good seed from bootblocks".
Tested by LUNA-88K2 and nono emulator, "Absolutely!" ok miod@
cheloha [Sat, 31 Dec 2022 00:48:53 +0000 (00:48 +0000)]
sysctl_clockintr: clear "sum" with memset before copyout(9)
patrick [Sat, 31 Dec 2022 00:30:21 +0000 (00:30 +0000)]
Add machdep.lidaction to machdep names list.
ok mpi@
millert [Fri, 30 Dec 2022 23:41:45 +0000 (23:41 +0000)]
Add TABDLY, TAB0, TAB3 for better source compatibility.
These are XSI extensions but some code seems to expect them.
We don't currently implement TAB1 or TAB2. Idea from FreeBSD.
OK guenther@ gnezdo@
jsg [Fri, 30 Dec 2022 23:12:12 +0000 (23:12 +0000)]
add history for getpid(2) and getppid(2)
getpid() appeared (undocumented) in v5. Between v6 and v7 there is an
extra return value for the parent process ID.
getppid() did not appear in v7, it appeared in 32v libc. But getppid()
predates 32v. It seems to have been in earlier USG releases such as
Generic 3 (PG-1C300 Issue 3) as the MERT Release 0 manual references it.
getppid() didn't become a system call until 4.3BSD-Reno
omit most of these details and just mention v5 and 32v
with and ok schwarze@
cheloha [Fri, 30 Dec 2022 21:21:25 +0000 (21:21 +0000)]
pause.3: miscellaneous rewrites, cleanup
Eliminate some redundant or extraneous pieces from the pause.3 page.
Say the "thread" "blocks", don't say the "process" "pauses". No need
to enumerate the ways a signal can be delivered. Add a few relevant
cross-references.
With input from millert@ and schwarze@.
Link: https://marc.info/?l=openbsd-tech&m=166801212316670&w=2
ok millert@ schwarze@
cheloha [Fri, 30 Dec 2022 18:47:45 +0000 (18:47 +0000)]
accton.c: add missing $OpenBSD$ tag
kettenis [Fri, 30 Dec 2022 16:49:34 +0000 (16:49 +0000)]
Do not send (normal) packets before we reach the run state. Logic copied
from iwm(4), which also looks at the TX_MGMT_ONLY flag. We don't expect
that flag to be ever set for bwfm(4), but it shouldn't hurt and it keeps
things consistent across drivers.
This fixes issues with suspend/resume (including firmware crashes seen on
the M2 Macbook Air).
ok patrick@, stsp@
kettenis [Fri, 30 Dec 2022 14:10:17 +0000 (14:10 +0000)]
Add chip name for new revision of the BCM4378.
ok patrick@
jca [Fri, 30 Dec 2022 06:50:27 +0000 (06:50 +0000)]
Actually hide the clang-15 workaround behind the COMPILER_VERSION check
COMPILER_VERSION initially missed. I'm not sure why we still have those
COMPILER_VERSION checks in sys/arch/i386 and sys/arch/amd64, when the
base system doesn't ship gcc any more, but let's stay consistent.
jca [Fri, 30 Dec 2022 06:44:35 +0000 (06:44 +0000)]
Neuter zlib fatal warnings when building kernels and bootloaders with clang 15
Disable -Wdeprecated-non-prototype instead of patching zlib. Upstream
plans to drop the pre-ANSI syntax soon. ok tb@ millert@
kevlo [Fri, 30 Dec 2022 00:54:09 +0000 (00:54 +0000)]
Support FTDI FT232R. The upper 2 bits encode the fractional component of the
FT232R is either 0 or 0.125.
ok dlg@
cheloha [Thu, 29 Dec 2022 22:44:23 +0000 (22:44 +0000)]
sparc64: pull retry logic out of tickcmpr_set(), sys_tickcmpr_set()
Pull the retry logic out of tickcmpr_set() and sys_tickcmpr_set() into
C functions tick_rearm() and sys_tick_rearm(), respectively. There is
nothing wrong with the retry logic in these assembly functions, but
it's better to keep equivalent code similar and this change realigns
the %TICK and %SYS_TICK rearm code with that of the Hummingbird
%STICK.
Tested by miod@ on UltraSPARC I, UltraSPARC II, and UltraSPARC IIe.
Link: https://marc.info/?l=openbsd-tech&m=167175014315419&w=2
ok kettenis@
schwarze [Thu, 29 Dec 2022 14:56:48 +0000 (14:56 +0000)]
HISTORY: clarify that unmount(2) used to be called umount(2) from v1 to Tahoe;
joint work with and OK jsg@
kettenis [Thu, 29 Dec 2022 11:35:01 +0000 (11:35 +0000)]
Avoid doing cache flush/invalidate operations for DMA memory allocated with
the BUS_DMA_COHERENT flag.
ok miod@
kettenis [Thu, 29 Dec 2022 11:30:58 +0000 (11:30 +0000)]
Use an iorw fence since we're syncing cpu access and device access to
memory.
ok miod@
jmc [Thu, 29 Dec 2022 06:49:34 +0000 (06:49 +0000)]
capital letter at sentence start;
guenther [Thu, 29 Dec 2022 06:10:54 +0000 (06:10 +0000)]
FORK_SIGHAND and the handling of func==NULL disappeared in 2017 in
sys/kern/kern_fork.c rev 1.195.
jsg [Thu, 29 Dec 2022 05:00:12 +0000 (05:00 +0000)]
profil(2) first appeared in fifth edition
tuhs/Distributions/Research/Dennis_v4/v4man.tar.gz has
manx/profil.2 but no man2/profil.2
the nsys sysent.c has '&nullsys, /* 44 = prof */'
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/nsys/ken/sysent.c
profil(2) is first listed as v5 in the Combined Tables of Contents from
McIlroy's A Research UNIX Reader.
https://marc.info/?l=tuhs&m=
158099986005023&w=2
and is present in
tuhs/Distributions/Research/Dennis_v5/v5man.pdf
ok schwarze@
jsg [Thu, 29 Dec 2022 02:12:41 +0000 (02:12 +0000)]
fcntl(2) first appeared in System III
ok schwarze@
guenther [Thu, 29 Dec 2022 01:36:36 +0000 (01:36 +0000)]
Add ktrace struct tracepoints for siginfo_t to the kernel side of
waitid(2) and __thrsigdivert(2) and teach kdump(1) to handle them.
Also report more from the siginfo_t inside PSIG tracepoints.
ok mpi@
jmc [Wed, 28 Dec 2022 21:38:29 +0000 (21:38 +0000)]
{en,de}queing -> {en,de}queuing; from paul tagliamonte
jmc [Wed, 28 Dec 2022 21:30:15 +0000 (21:30 +0000)]
spelling fixes; from paul tagliamonte
any parts of his diff not taken are noted on tech
cheloha [Wed, 28 Dec 2022 20:56:37 +0000 (20:56 +0000)]
iostat(8): implement periodic display with setitimer(2)
Prefer setitimer(2)+sigsuspend(2) to nanosleep(2) when performing
periodic work. The latter drifts.
Link: https://marc.info/?l=openbsd-tech&m=167068674625838&w=2
ok millert@
cheloha [Wed, 28 Dec 2022 20:49:05 +0000 (20:49 +0000)]
systat(1): vmstat: dinfo(): compute rates using real elapsed time
The "naptime" value is not the real elapsed time. But showkre() has
the real elapsed time, "etime", so pass that as argument to dinfo().
Link: https://marc.info/?l=openbsd-tech&m=167095169115427&w=2
ok millert@
cheloha [Wed, 28 Dec 2022 15:46:39 +0000 (15:46 +0000)]
microtime.9: rewrite description, miscellaneous cleanup
- Remove the bintime interfaces. They should not be used outside of
the timecounting layer. Unsure whether they warrant a manpage of
their own.
- In the SYNOPSIS, change the variable names for timespec interfaces
from "tv" to "ts".
- Document the new-ish "nsec" interfaces.
- Rewrite the DESCRIPTION. Describe every clock completely in its own
paragraph. Enumerate all the interfaces in tables. Explicitly state
the output format for each interface in said tables. Add new vocab
("hardware", "timestamp") to clarify the differences between the
"get" and non-"get" interfaces.
- Add the CONTEXT, RETURN VALUES, and ERRORS sections.
- Cross-reference clock_settime(2), timeradd(3), and tc_init(9).
Lots of input from schwarze@.
ok jmc@ schwarze@
tb [Wed, 28 Dec 2022 13:21:11 +0000 (13:21 +0000)]
style(9) for includes
jsg [Wed, 28 Dec 2022 13:00:57 +0000 (13:00 +0000)]
the S in CSRC is Science not Sciences
kettenis [Wed, 28 Dec 2022 12:56:35 +0000 (12:56 +0000)]
The RISC-V architecture support execute-only mappings, so implement those.
ok jca@
tb [Wed, 28 Dec 2022 12:16:35 +0000 (12:16 +0000)]
Properly ignore comments in geofeed files
Do not consider comments and whitespace leading up to a comment as part
of the line.
ok claudio job
kettenis [Wed, 28 Dec 2022 11:20:09 +0000 (11:20 +0000)]
Handle clock that can't be gated as a no-op.
ok patrick@
asou [Wed, 28 Dec 2022 10:11:36 +0000 (10:11 +0000)]
Change space character to TAB.
ok tb mlarkin giovanni
kn [Wed, 28 Dec 2022 09:53:33 +0000 (09:53 +0000)]
Make wait_reorder_libs() honour library_aslr=NO
Otherwise it will unconditionally print an empty line in case relinking
is disabled.
Reported by kettenis
Feedback OK tb
OK florian
jsg [Wed, 28 Dec 2022 07:59:13 +0000 (07:59 +0000)]
succcess -> success
jca [Wed, 28 Dec 2022 07:40:23 +0000 (07:40 +0000)]
Ansify, fixes clang 15 -Wdeprecated-non-prototype (fatal with -Werror)
ok millert@
yasuoka [Wed, 28 Dec 2022 01:39:21 +0000 (01:39 +0000)]
Fix the word in the copyright. IIJ is not a regent. ok from nakayama
at iij
found and ok miod
jmc [Tue, 27 Dec 2022 23:05:55 +0000 (23:05 +0000)]
spelling fixes; from paul tagliamonte
ok nicm
kettenis [Tue, 27 Dec 2022 21:13:25 +0000 (21:13 +0000)]
Newer device trees for boards based on the JH7100 SoC use a SoC-specific
compatible string. Still preliminary since JH7100 support hasn't made it
into mainline Linux yet.
ok patrick@
patrick [Tue, 27 Dec 2022 20:13:03 +0000 (20:13 +0000)]
Fix array bounds mismatch with clang 15
New warning -Warray-parameter is a bit overzealous.
ok millert@ tb@
otto [Tue, 27 Dec 2022 17:31:09 +0000 (17:31 +0000)]
Change the way malloc_init() works so that the main data structures
can be made immutable to provide extra protection. Also init pools
on-demand: only pools that are actually used are initialized.
Tested by many
tb [Tue, 27 Dec 2022 17:13:04 +0000 (17:13 +0000)]
Revert spelling fixes. Please report them upstream.
jmc [Tue, 27 Dec 2022 17:10:05 +0000 (17:10 +0000)]
spelling fixes; from paul tagliamonte
any changes not taken noted on tech, but chiefly here i did not take the
cancelation - cancellation changes;
claudio [Tue, 27 Dec 2022 17:05:38 +0000 (17:05 +0000)]
Adjust handling of the RFC 9234 role capability for ibgp sessions:
- Exclude the role capability on ibgp sessions when sending an OPEN
- Warn when a role capability is received on an iBGP session
- Make sure the capability negotiation is skipped for ibgp sessions,
this in turn disables the role capability on the session.
OK tb@
claudio [Tue, 27 Dec 2022 12:11:39 +0000 (12:11 +0000)]
Only print the hello_timer if it is actually running.
Problem reported by Wouter Prins. Initial diff by kn@
OK remi@
jmc [Tue, 27 Dec 2022 07:44:56 +0000 (07:44 +0000)]
spelling fixes; from paul tagliamonte
jca [Tue, 27 Dec 2022 07:34:05 +0000 (07:34 +0000)]
Ansify pxe_netif_close() and {,pxe}socktodesc()
To appease the clang 15 warning -Wdeprecated-non-prototype (turned on
by -Wall). ok millert@
jca [Tue, 27 Dec 2022 07:30:10 +0000 (07:30 +0000)]
Fix array bounds mismatch with clang 15
New warning -Warray-parameter is a bit overzealous.
ok millert@
jca [Tue, 27 Dec 2022 02:22:46 +0000 (02:22 +0000)]
gdb: fix build with clang 15
The code wants a pointer to a "CORE_ADDR", thus the "(CORE_ADDR)" cast
is erroneous. Just pass NULL.
ok jsg@
jca [Tue, 27 Dec 2022 02:02:44 +0000 (02:02 +0000)]
perl: avoid -Wdeclaration-after-statement warning in our local patch
Fixes build with clang 15. Input + "seems ok" from afresh1@
dv [Mon, 26 Dec 2022 23:50:20 +0000 (23:50 +0000)]
vmd(8): provide a detailed e820 memory map.
When booting guests with SeaBIOS, vmd(8) supplied details about the
available guest memory via CMOS registers. Consequently, we've been
carrying some patches in the ports tree to SeaBIOS to fetch this
information like it's the 1990s.
When a vm initializes memory ranges, we now track what each range
represents. This information can be used to supply the e820 memory
map to SeaBIOS via the fw_cfg interface allowing it to properly
communicate memory ranges to a guest operating system. (This will
also allow us to drop some patches from the port.)
Given the ranges can now be marked with a purpose, this also allows
vmm(4) to switch from hard-coded mmio ranges and instead let the
information on the memory range dictate if vmm should be handling
a page fault or sending to vmd for a memory assist.
Tested by Mischa Peters and others. OK mlarkin@.
jmc [Mon, 26 Dec 2022 21:04:10 +0000 (21:04 +0000)]
tweak the -f text; ok florian
kn [Mon, 26 Dec 2022 20:24:43 +0000 (20:24 +0000)]
add newline missed in previous
jmc [Mon, 26 Dec 2022 20:06:43 +0000 (20:06 +0000)]
spelling fixes; from paul tagliamonte
jmc [Mon, 26 Dec 2022 19:34:12 +0000 (19:34 +0000)]
spelling fix; from paul tagliamonte
ok millert
jmc [Mon, 26 Dec 2022 19:32:30 +0000 (19:32 +0000)]
spelling fix; from paul tagliamonte
ok tb
miod [Mon, 26 Dec 2022 19:25:49 +0000 (19:25 +0000)]
Replace two (void)copystr(..., NULL) with equivalent (void)strlcpy() calls.
ok millert@
jmc [Mon, 26 Dec 2022 19:24:11 +0000 (19:24 +0000)]
spelling fixes; from paul tagliamonte
ok florian