Date: Tue, 18 Feb 2025 20:13:05 -0800 From: Mark Millard <marklmi@yahoo.com> To: Warner Losh <imp@bsdimp.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: <BB174D28-0357-4CD2-93FC-FADE5760D78E@yahoo.com> In-Reply-To: <CANCZdfrUxEiEtEZfO3G9L=aN44KYtCZ_-AQFLsz=vRJvQ%2BXORw@mail.gmail.com> References: <82B278D1-6483-438A-AAA5-DFD809B2E736.ref@yahoo.com> <82B278D1-6483-438A-AAA5-DFD809B2E736@yahoo.com> <CANCZdfqSG2j7PDenfAC9fboC4hYuq0ND7hxLunO0yosKJ0UjCw@mail.gmail.com> <CANCZdfpeg070CTCqWYBFZKouK3EHsv15kOJ%2B73fnS-0G2zz7LQ@mail.gmail.com> <FDE404AE-0E82-469F-BBC5-4B61FE77535B@yahoo.com> <CANCZdfrUxEiEtEZfO3G9L=aN44KYtCZ_-AQFLsz=vRJvQ%2BXORw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Feb 18, 2025, at 16:04, Warner Losh <imp@bsdimp.com> wrote: > On Tue, Feb 18, 2025 at 4:57=E2=80=AFPM Mark Millard = <marklmi@yahoo.com> wrote: >> On Feb 18, 2025, at 14:01, Warner Losh <imp@bsdimp.com> wrote: >> >=20 >> > On Tue, Feb 18, 2025 at 2:56=E2=80=AFPM Warner Losh = <imp@bsdimp.com> wrote: >> >>=20 >> >> On Sat, Feb 15, 2025 at 10:04=E2=80=AFAM 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.] >> >>>=20 >> >>> In: >> >>>=20 >> >>> # man 5 device.hints >> >>> DEVICE.HINTS(5) FreeBSD File Formats Manual = DEVICE.HINTS(5) >> >>>=20 >> >>> NAME >> >>> device.hints =E2=80=93 device resource hints >> >>>=20 >> >>> . . . >> >>>=20 >> >>> 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. >> >>> . . . >> >>>=20 >> >>>=20 >> >>>=20 >> >>> For reference: >> >>>=20 >> >>> # 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 >> >>>=20 >> >>>=20 >> >>> Multiple points: >> >>>=20 >> >>> ) It seems that aarch64 (arm64?) and armv7 (arm?) have no >> >>> such GENERIC.hints file. The same goes for riscv64 >> >>> (riscv?). >> >>>=20 >> >>> The intent for powerpc64 , powerpc64le , and powerpcspe >> >>> may have the same issue. >> >>>=20 >> >>>=20 >> >>> ) 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. >> >>>=20 >> >>> 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.) >> >>>=20 >> >>> Best to not to depend on /sys in the notation shown? >> >>>=20 >> >>>=20 >> >>> ) 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 =3D=3D MACHINE_CPUARCH , >> >>> MACHINE =3D=3D MACHINE_ARCH , and >> >>> MACHINE_CPUARCH =3D=3D MACHINE_ARCH. However, based on the >> >>> NOTE paths: >> >>=20 >> >> Like all things kernel, it's MACHINE. >> >>=20 >> >>> # 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 >> >>>=20 >> >>> 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?: >> >>>=20 >> >>> /usr/src/sys/arm64/conf/GENERIC.hints >> >>> /usr/src/sys/arm/conf/GENERIC.hints >> >>> /usr/src/sys/riscv/conf/GENERIC.hints >> >>>=20 >> >>> with no aarch64 , armv7 , powerpc64* , powerpcspe , or >> >>> riscv64 examples? >> >>=20 >> >> We store these in /dev/null these days :). >> >>=20 >> >> I'll create empty ones for this. >> >=20 >> > https://reviews.freebsd.org/D49052 >>=20 >> Thanks. >>=20 >> > 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. >>=20 >> 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.) >=20 > I'm open to commenting out such things. So I reenabled having virtio_gpu in my kernel builds, rebuilt, and then installed the update. I then created: # more /boot/device.hints=20 # This is for virtio_gpu --for avoiding its use under Parallels: # dmesg -a | grep -i "virtio.*gpu" # virtio_pci1: <VirtIO PCI (modern) GPU adapter> mem = 0x10000000-0x17ffffff,0x18008000-0x18008fff,0x18000000-0x18003fff at = device 10.0 on pci0 hint.virtio_pci.1.disabled=3D"1" On reboot virtio_gpu was not substituted for efifb . Strings on the kernel.CA76-NODBG/kernel showed virtio_gpu was again present and kernel.CA76-NODBG.old/kernel showed no such text. In other words: it all worked just fine. I do not know if some variation of this would make a good commented-out example in /usr/src/sys/arm64/conf/GENERIC.hints or not. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BB174D28-0357-4CD2-93FC-FADE5760D78E>