Monday, December 30, 2019

Re: [own Kernel] LSI megaraid on rkpcie device.

Olivier <olivier@burelli.fr> wrote:

> Hello all,
>
> In first, i would like to wish you happy new year celebrations !
>
> in second i am not developper / hacker. I would like to compile and use a LSI megaraid adaptater on arm64 (RP64).
>
> In this way i updated /sys/arch/arm64/conf/GENERIC to add a LSI MEGARAID adaptater
> mpi* at pci? # LSI Logic Fusion MPT Message Passing Interface
> mpii* at pci? # LSI Fusion MPT Message Passing Interface II
> mfi* at pci? # LSI MegaRAID SAS controllers
> mfii* at pci? # LSI MegaRAID SAS Fusion controller
>
>
> I thank that was sufficient... Maybe too simple to copy paste from i386 conf file... :
>
> Question : Do i have to do something specific to include the drivers mpi* and fmi* on arch compilation ?
>
> (...)
> cc -g -Werror -Wall -Wimplicit-function-declaration -Wno-uninitialized -Wno-pointer-sign -Wno-constant-conversion
> -Wno-address-of-packed-member -Wframe-larger-than=2047 -march=armv8-a+nofp+nosimd -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
> -ffixed-x18 -ffreestanding -fno-pie -O2 -pipe -nostdinc -I/sys -I/sys/arch/arm64/compile/GENERIC.MP/obj -I/sys/arch
> -I/sys/dev/pci/drm/include -I/sys/dev/pci/drm/include/uapi -I/sys/dev/pci/drm/amd/include/asic_reg -I/sys/dev/pci/drm/amd/include
> -I/sys/dev/pci/drm/amd/amdgpu -I/sys/dev/pci/drm/amd/display -I/sys/dev/pci/drm/amd/display/include -I/sys/dev/pci/drm/amd/display/dc
> -I/sys/dev/pci/drm/amd/display/amdgpu_dm -I/sys/dev/pci/drm/amd/powerplay/inc -I/sys/dev/pci/drm/amd/powerplay/smumgr
> -I/sys/dev/pci/drm/amd/powerplay/hwmgr -I/sys/dev/pci/drm/amd/display/dc/inc -I/sys/dev/pci/drm/amd/display/dc/inc/hw
> -I/sys/dev/pci/drm/amd/display/modules/inc -DDDB -DDIAGNOSTIC -DKTRACE -DACCOUNTING -DKMEMSTATS -DPTRACE -DCRYPTO -DSYSVMSG -DSYSVSEM
> -DSYSVSHM -DUVM_SWAP_ENCRYPT -DFFS -DFFS2 -DFFS_SOFTUPDATES -DUFS_DIRHASH -DQUOTA -DEXT2FS -DMFS -DNFSCLIENT -DNFSSERVER -DCD9660 -DUDF
> -DMSDOSFS -DFIFO -DFUSE -DSOCKET_SPLICE -DTCP_ECN -DTCP_SIGNATURE -DINET6 -DIPSEC -DPPP_BSDCOMP -DPPP_DEFLATE -DPIPEX -DMROUTING -DMPLS
> -DBOOT_CONFIG -DPCIVERBOSE -DUSER_PCICONF -DUSBVERBOSE -DWSDISPLAY_COMPAT_USL -DWSDISPLAY_COMPAT_RAWKBD -DWSDISPLAY_DEFAULTSCREENS="6"
> -DONEWIREVERBOSE -DMULTIPROCESSOR -DMAXUSERS=80 -D_KERNEL -D__arm64__ -MD -MP -c /sys/dev/pci/nvme_pci.c
> cc -g -Werror -Wall -Wimplicit-function-declaration -Wno-uninitialized -Wno-pointer-sign -Wno-constant-conversion
> -Wno-address-of-packed-member -Wframe-larger-than=2047 -march=armv8-a+nofp+nosimd -fno-omit-frame-pointer
> -mno-omit-leaf-frame-pointer
> -ffixed-x18 -ffreestanding -fno-pie -O2 -pipe -nostdinc -I/sys -I/sys/arch/arm64/compile/GENERIC.MP/obj
> -I/sys/arch -I/sys/dev/pci/drm/include -I/sys/dev/pci/drm/include/uapi -I/sys/dev/pci/drm/amd/include/asic_reg
> -I/sys/dev/pci/drm/amd/include -I/sys/dev/pci/drm/amd/amdgpu -I/sys/dev/pci/drm/amd/display -I/sys/dev/pci/drm/amd/display/include
> -I/sys/dev/pci/drm/amd/display/dc -I/sys/dev/pci/drm/amd/display/amdgpu_dm -I/sys/dev/pci/drm/amd/powerplay/inc
> -I/sys/dev/pci/drm/amd/powerplay/smumgr -I/sys/dev/pci/drm/amd/powerplay/hwmgr -I/sys/dev/pci/drm/amd/display/dc/inc
> -I/sys/dev/pci/drm/amd/display/dc/inc/hw -I/sys/dev/pci/drm/amd/display/modules/inc -DDDB -DDIAGNOSTIC -DKTRACE -DACCOUNTING
> -DKMEMSTATS -DPTRACE -DCRYPTO -DSYSVMSG -DSYSVSEM -DSYSVSHM -DUVM_SWAP_ENCRYPT -DFFS -DFFS2 -DFFS_SOFTUPDATES -DUFS_DIRHASH -DQUOTA
> -DEXT2FS -DMFS -DNFSCLIENT -DNFSSERVER -DCD9660 -DUDF -DMSDOSFS -DFIFO -DFUSE -DSOCKET_SPLICE -DTCP_ECN -DTCP_SIGNATURE -DINET6 -DIPSEC
> -DPPP_BSDCOMP -DPPP_DEFLATE -DPIPEX -DMROUTING -DMPLS -DBOOT_CONFIG -DPCIVERBOSE -DUSER_PCICONF -DUSBVERBOSE -DWSDISPLAY_COMPAT_USL
> -DWSDISPLAY_COMPAT_RAWKBD -DWSDISPLAY_DEFAULTSCREENS="6" -DONEWIREVERBOSE -DMULTIPROCESSOR -DMAXUSERS=80 -D_KERNEL -D__arm64__ -MD -MP
> -c /sys/dev/pci/mfi_pci.c
>
> In file included from /sys/dev/pci/mfi_pci.c:37:
> /sys/dev/ic/mfivar.h:190:20: error: field has incomplete type 'struct ksensordev'
> struct ksensordev sc_sensordev;
> ^
> /sys/dev/ic/mfivar.h:190:9: note: forward declaration of 'struct ksensordev'
> struct ksensordev sc_sensordev;
> ^
> 1 error generated.
> *** Error 1 in /sys/arch/arm64/compile/GENERIC.MP (Makefile:1206 'mfi_pci.o')
>
>
> Thanks in advance.

Many of our architectures have a per-cpu sensor device. As a result, such
an architecture will #include <sys/sensors.h> in <machine/cpu.h>. Other
architectures skip doing this, and you've just exposed a driver which doesn't
pull in the headers it needs.

No comments:

Post a Comment