Honor WAITOK semantic in uvm_pagermapin() by sleeping if pmap_enter(9) failed.
Fix a bug reported by bluhm@ where a WAITOK allocation in the page fault
handler would return a NULL kva instead of sleeping.
ok jca@
Use km_alloc(9) to allocate malloc(9) memory chunks.
Get rid of uvm_km_kmemalloc_pla() and uvm_km_free() that are no longer used.
This finishes the conversion to the "New unified allocator of kernel memory"
introduced by art@ 14 years ago.
ok tb@
Use splbio() instead of splvm() to block interrupts in the page cache.
Only the buffer flipper (incorrectly?) allocates & frees pages from
interrupt context.
Sync the comments with some pmap_copy_page(9) implementations to keep
track of hacks required by the flipper.
ok jca@
Remove calls to OpenSSL_add_all_algorithms() and ERR_load_crypto_strings().
These are no-ops in LibreSSL, and in Portable have been mostly replaced
by a call to OPENSSL_init_crypto() in the compat layer. ok tb@
the structure produced has alignment, which contained uninitialized data.
This is obviously fixed by using calloc(), but it was also observed that
the precalculated storage requirement was higher than what is actually
filled. So all the math has been rewritten to be byte accurate.
Temporarily, a syslog_r check is added to report if we ever get count
inconsistancy again so that can be fixed quickly.
ok claudio
Simplify up_generate_addpath_all() by using up_generate_addpath() for
the case where new and old are NULL.
This makes it more clear what up_generate_addpath_all() actually does
and up_generate_addpath() still handles the addpath send all case.
OK tb@
sync support for systems that lack __builtin_popcount() from portable
unused on OpenBSD (nothing sets MISSING_BUILTIN_POPCOUNT), but it
makes syncing much easier.
Check return value of trie_roa_add() in a consistant way.
Also adjust the trie_add() call for IMSG_RECONF_PREFIX_SET_ITEM to follow
the same logic.
Fixes CID 492365
OK benno@
Track the amount of time spent in various parts of the RDE main event loop.
Knowing which parts of the loop take a lot of time helps with performance
tuning.
OK tb@
Convert multicast address lookup macro into function.
Convert macros IN_LOOKUP_MULTI() and IN6_LOOKUP_MULTI() into functions
in_lookupmulti() and in6_lookupmulti(). Make some paramters const
as suggested by kn@.
OK kn@ mvs@
vmboot: A tiny kernel for booting SEV VMs
When using SEV-enabled VMs, we let vmd(8) launch the kernel directly.
With this, we do not have to trust a firmware like OVMF. However,
with this approach, sysupgrade(8) can not be used as the kernel
resides outside the VM in the host file system. Thus maintainig
SEV-enabled VMs is hard.
With vmboot, we use a small ramdisk kernel that runs the actual
kernel using the kexec facility. vmboot can be launched directly
by vmd(8). The actual kernel is loaded from the disk image of the
SEV-enabled VM. With this, sysupgrade(8) can be used, and there
is no need for additional firmware.
This approach is similar to vmboot for powerpc64 and octeon.
Discussed with bluhm@ for a while.
ok mlarkin@
remove another mention of the nixspam list, which has shut down.
ok ratchov@
if anyone still has this list configured in spamd.conf they should
remove it (and maybe disable spamd-setup).
it would be nice if the file could be removed or emptied on
www.openbsd.org too