Re: Where is hptrr kernel module in 13.3 ?

From: Herbert J. Skuhra <herbert_at_gojira.at>
Date: Wed, 10 Jul 2024 00:15:38 UTC
On Wed, 10 Jul 2024 00:56:57 +0200, "Herbert J. Skuhra" wrote:
> 
> On Wed, 10 Jul 2024 00:27:08 +0200, Pete Wright wrote:
> >  
> > On 7/9/24 15:17, Herbert J. Skuhra wrote:
> > > On Tue, 09 Jul 2024 21:39:30 +0200, William Dudley wrote:
> > >> I wanted to use an old "RocketRaid 1740" SATA PCI card in a machine,
> > >> and that requires the "hptrr" driver.  This page:
> > >> 
> > >> https://www.freebsd.org/releases/13.3R/hardware/
> > >> 
> > >> Suggests it's part of the 13.3 release, but I cannot find anything but
> > >> a man page for it on my 13.3 systems (all three of them).
> > >> 
> > >> Further, I installed the source tree (using git) because I though
> > >> maybe I had to build the module, but hptrr isn't mentioned at
> > >> all in the /usr/src/sys/amd64/GENERIC file, so I can't "enable" it
> > >> to be built as part of the kernel.
> > > It is listed in sys/amd64/conf/NOTES.
> > > 
> > >  From /usr/src/UPDATING:
> > > 
> > > 20191003:
> > >          The hpt27xx, hptmv, hptnr, and hptrr drivers have been removed from
> > >          GENERIC.  They are available as modules and can be loaded by adding
> > >          to /boot/loader.conf hpt27xx_load="YES", hptmv_load="YES",
> > >          hptnr_load="YES", or hptrr_load="YES", respectively.
> > > 
> > > But none of the 13.x-RELEASE kernel.txz (amd64) include the mentioned modules.
> > > I guess you should open a PR at bugs.freebsd.org. Maybe this can be
> > > fixed for 13.4-RELEASE.
> > > 
> > > Have you tried to build your own kernel with "device hptrr"?
> > 
> > i've got a system running CURRENT and can confirm those modules are
> > present, i would also assume they are there on 13.x as well. what does
> > "ls /boot/kernel/hpt*" show on your system? -pete
> 
> The modules are available in 12.x, 14.x and main, but are obviously
> missing in 13.x:
> 
> $ curl -O https://download.freebsd.org/ftp/releases/amd64/13.3-RELEASE/kernel.txz
> $ tar -ztf kernel.txz |grep hpt
> ./boot/kernel/hptiop.ko
> $ curl -O https://download.freebsd.org/ftp/releases/amd64/14.1-RELEASE/kernel.txz
> $ tar -ztf kernel.txz |grep hpt
> ./boot/kernel/hptrr.ko
> ./boot/kernel/hptnr.ko
> ./boot/kernel/tcphpts.ko
> ./boot/kernel/hpt27xx.ko
> ./boot/kernel/hptiop.ko
> ./boot/kernel/hptmv.ko
> 
> And after running "make buildworld buildkernel" for stable/13 (amd64)
> on a stable/14 (amd64) system the modules are missing as well.

Maybe

commit 849aef496d2ae19961310f4e92f3a0b928732d26
Author:     Andrew Turner
AuthorDate: 2019-11-21 12:22:08 +0100
Commit:     Andrew Turner
CommitDate: 2019-11-21 12:22:08 +0100

    Port the NetBSD KCSAN runtime to FreeBSD.
    [...]


The modules are built again if you revert the change to
sys/modules/Makefile:

diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index a61b4ad19095..31f6530fcb49 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -747,11 +747,11 @@ _chvgpio= chvgpio
 _ciss=         ciss
 _chromebook_platform=  chromebook_platform
 _coretemp=     coretemp
-.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
+.if ${MK_SOURCELESS_HOST} != "no"
 _hpt27xx=      hpt27xx
 .endif
 _hptiop=       hptiop
-.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
+.if ${MK_SOURCELESS_HOST} != "no"
 _hptmv=                hptmv
 _hptnr=                hptnr
 _hptrr=                hptrr


I guess the following commit is missing on 13.x:

commit 2422138952d86dd8b02ff33c55f747ca8e381afe
Author:     Andrew Turner
AuthorDate: 2021-06-02 12:07:55 +0200
Commit:     Andrew Turner
CommitDate: 2021-06-02 12:59:19 +0200

    Fix the KCSAN_ENABLED check when building modules