Many recent AMD SoCs need to have their NVMe placed into D3cold at suspend
time to properly resume. Other machines break when we do that. To solve
this dilemma, Microsoft introduced a "StorageD3Enable" ACPI property that
tells us what to do. Note that despite its name, this property seems to
be relevant for PCI devices that aren't storage related as well.
Implement support in our ACPI code to choose between D3hot and D3cold and
use the "StorageD3Enable" property to make that decision. This should fix
machines that no longer resume properly after the (somewhat) recent
improvements to S0ix suspend for AMD laptops.
ok jca@, deraadt@
hoist OPTIND reset from rc.d(8) services to rc.subr(8)
See unbound r1.10 and r.11 for context; in base only unbound and spamlogd
use getopts and the problem is in rc.subr's getopts, parsing options when
the service script is used directly: /etc/rc.d/unbound [-dqf] ...
Reset getopts in rc.subr once for anything that comes afterwards instead of
in every script using it.
'rcctl [-dqf] ...' and netstart are not affected as they run rc.subr in its
own process and use FUNCS_ONLY=1, respectively.
tested by obsd at mulh.net
OK aja
remove special handling of __string/* headers
we had to add special handling for the __string directory because CVS
cannot handle file to directory transitions so we had to move this
directory to __string.d and copy files over at install time, however
when libcxx19 was imported this directory was actually commited, making
rendering the handling of the special directory obsolete, but it was kept
there and it was installing files to the wrong directory