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