Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Feb 2025 17:04:05 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: No GENERIC.hints for aarch64 (arm64?), armv7, and more; also /sys/ based paths are referenced but seem to not be universally standard; also which ARCH standard in path?
Message-ID:  <CANCZdfrUxEiEtEZfO3G9L=aN44KYtCZ_-AQFLsz=vRJvQ%2BXORw@mail.gmail.com>
In-Reply-To: <FDE404AE-0E82-469F-BBC5-4B61FE77535B@yahoo.com>
References:  <82B278D1-6483-438A-AAA5-DFD809B2E736@yahoo.com> <CANCZdfqSG2j7PDenfAC9fboC4hYuq0ND7hxLunO0yosKJ0UjCw@mail.gmail.com> <CANCZdfpeg070CTCqWYBFZKouK3EHsv15kOJ%2B73fnS-0G2zz7LQ@mail.gmail.com> <FDE404AE-0E82-469F-BBC5-4B61FE77535B@yahoo.com>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Tue, Feb 18, 2025 at 4:57 PM Mark Millard <marklmi@yahoo.com> wrote:

> On Feb 18, 2025, at 14:01, Warner Losh <imp@bsdimp.com> wrote:
> >
> > On Tue, Feb 18, 2025 at 2:56 PM Warner Losh <imp@bsdimp.com> wrote:
> >>
> >> On Sat, Feb 15, 2025 at 10:04 AM Mark Millard <marklmi@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.)
>

I'm open to commenting out such things.

Warner

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

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrUxEiEtEZfO3G9L=aN44KYtCZ_-AQFLsz=vRJvQ%2BXORw>