Fixes the build without MPBIOS or ACPI. Modified patch from Paolo Pisati in
current-users@.
While here:
Remove obsolete <arch/x86/pci/msipic.h> include with its guard.
Add comments for multiple endifs for better readability.
(Path from Paolo Pisati in current_users@)
While here:
Simplify mp_cpu_start() ifdefs. MULTIPROCESSOR and HYPERV code falls under
NLAPIC > 0, thus just combine all blocks under this guard.
Rearrange opt_acpi.h include alphabetically.
The :gmtime and :localtime modifiers are not used often and thus are not
time-critical. Exchange the custom code that parses an integer from a
substring for an additional memory allocation.
Thanks sjg@ for suggesting to avoid the custom parsing code.
Let's just see how this works out in practice. Might need to reduce
the overhead of each GHES on machines with thousands of them, but
we'll see.
PR kern/58046
The function TryParseTime takes a pointer to a string, but the LazyBuf
returns a Substring, which is not guaranteed to be null-terminated or
delimited. In TryParseTime, calling strtoul on the Substring read past
the end of the substring.
Noticed in the NetBSD build in libntp, where the :gmtime modifier is
used in two places with the same timestamp value, of which the first was
evaluated correctly and the second wasn't.
The bug was introduced in var.c 1.1050 from 2023-05-09, when the
argument of the :gmtime and :localtime modifiers was allowed to be an
expression instead of an integer constant.
On NetBSD, libdrm uses this to discover what kind of bus the device
is on, without which it refuses to expose the render node at all,
rendering it useless. With this change, libdrm is able to use render
nodes on NetBSD.
Since this is just reading out information about the bus type and
bus/dev/func numbers, I don't think it's problematic to expose to
render nodes.
This requires tweaking the access path to the master.
PR kern/58180
seen as error messages when running "glxgears" on intel.
This also avoids graphical corruption (changed areas of terminal
emulator take a few seconds to gradually update) when the modesetting
driver is explicitly chosen.
While here, re-enable lint in those cases where lint was skipped due to
a bug in interpreting abstract types, which was fixed in cgram.y 1.469
from 2023-08-02.
NetBSD's make has built-in support for formatting timestamps, so use
that instead of relying on an external tool. The month name is still
always in the C locale, and possible errors are reported in the affected
line, due to the ':=' assignment operator.
Without the ':=' assignment operator, the intermediate variable would
not be necessary, but in that case, make's error handling is broken and
unspecific.
- Use C locale to ensure month abbreviations are as expected
- bail out if MKREPRO_TIMESTAMP is not defined
- bail out if resulting __DATE__/__TIME__ replacement strings are empty
asks for for an address that is in the cache and that access is prevented
by a cache acl because the querier has no way to know that this access is
denied, so it is not an abuse.
Fix edge default values, factor out percentage calculation for more consistent
values. Use device_printf/DPRINTF to show errors instead of aprint variants.
Print raw input for debugging.
Correct capability parsing. Old devices were probed with nonexistent
commands and then used undefined boundary values that made them unusuable.
Fixes PR 57874.
the u_long mdpg_attrs aren't dropped giving atomic_cas_ulong no
chance of completing if any of the top bits is set.
Update pmap_page_set_attributes for consistency.
An ATF test run completed for me with this fix.
port-riscv/58006: ATF tests no longer complete on riscv-riscv64
It doesn't make a difference here, because tap_detach never fails,
but let's make it more obvious at the call site that failure is
forbidden here.
No functional change intended.
PR kern/58166