On Feb 18, 2025, at 14:01, Warner Losh <i...@bsdimp.com> wrote: > > On Tue, Feb 18, 2025 at 2:56 PM Warner Losh <i...@bsdimp.com> wrote: >> >> On Sat, Feb 15, 2025 at 10:04 AM Mark Millard <mark...@yahoo.com> wrote: >>> [This seems likely to not be limited to main [so: 15 as stands]. >>> But I'm using main as the example for the issue.] >>> >>> In: >>> >>> # man 5 device.hints >>> DEVICE.HINTS(5) FreeBSD File Formats Manual >>> DEVICE.HINTS(5) >>> >>> NAME >>> device.hints – device resource hints >>> >>> . . . >>> >>> FILES >>> /boot/device.hints Device resource hints file. >>> /sys/ARCH/conf/GENERIC.hints Sample resource hints for >>> the >>> GENERIC kernel. >>> /sys/ARCH/conf/NOTES Notes on the kernel >>> configuration file and >>> device >>> resource hints. >>> . . . >>> >>> >>> >>> For reference: >>> >>> # find -s / -name GENERIC.hints -print >>> /usr/src/sys/amd64/conf/GENERIC.hints >>> /usr/src/sys/i386/conf/GENERIC.hints >>> /usr/src/sys/powerpc/conf/GENERIC.hints >>> >>> >>> Multiple points: >>> >>> ) It seems that aarch64 (arm64?) and armv7 (arm?) have no >>> such GENERIC.hints file. The same goes for riscv64 >>> (riscv?). >>> >>> The intent for powerpc64 , powerpc64le , and powerpcspe >>> may have the same issue. >>> >>> >>> ) At least for how the local systems were installed, there >>> is no such place predefined as /sys/ , not even as a >>> symbolic link. "man 7 hier" does not list such. >>> >>> So it seems /sys -> /usr/src/sys is intended. (But >>> /usr/src/ need not have been populated, leaving a >>> lack of any GENERIC.hints in such a case.) >>> >>> Best to not to depend on /sys in the notation shown? >>> >>> >>> ) The /ARCH/ reference is unclear vs. MACHINE, >>> MACHINE_CPUARCH, and MACHINE_ARCH. The example paths >>> existing for GENERIC.hints do not help because they >>> all allow MACHINE == MACHINE_CPUARCH , >>> MACHINE == MACHINE_ARCH , and >>> MACHINE_CPUARCH == MACHINE_ARCH. However, based on the >>> NOTE paths: >> >> Like all things kernel, it's MACHINE. >> >>> # find -s /usr/src/ -name NOTES -print | grep /conf/NOTES | more >>> /usr/src/sys/amd64/conf/NOTES >>> /usr/src/sys/arm/conf/NOTES >>> /usr/src/sys/arm64/conf/NOTES >>> /usr/src/sys/conf/NOTES >>> /usr/src/sys/i386/conf/NOTES >>> /usr/src/sys/powerpc/conf/NOTES >>> /usr/src/sys/riscv/conf/NOTES >>> /usr/src/sys/x86/conf/NOTES >>> >>> None of of the MACHINE* are right: x86 is not one of >>> any of the 3. Otherwise /arm64/conf/NOTES would suggest >>> MACHINE as the only possibility if /ARCH/ was uniform >>> for relative to the 3 MACHINE* possibilities. So?: >>> >>> /usr/src/sys/arm64/conf/GENERIC.hints >>> /usr/src/sys/arm/conf/GENERIC.hints >>> /usr/src/sys/riscv/conf/GENERIC.hints >>> >>> with no aarch64 , armv7 , powerpc64* , powerpcspe , or >>> riscv64 examples? >> >> We store these in /dev/null these days :). >> >> I'll create empty ones for this. > > https://reviews.freebsd.org/D49052
Thanks. > Just to expand a little: These platforms don't have legacy devices > they need to hard-wire in various ways, unlike the other platforms. > However, people use them to do device instance wiring, so I've created > the empty ones. An example can also be disabling something that needs to be avoided for some unusual reason, such as avoiding virtio_gpu under parallels on aarch64 macOS. (I've not tested doing that yet.) === Mark Millard marklmi at yahoo.com === Mark Millard marklmi at yahoo.com