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


Reply via email to