Messages in this thread | | | Subject | Re: PPC_FPU, ALTIVEC: enable_kernel_fp, put_vr, get_vr | From | Christophe Leroy <> | Date | Sun, 18 Apr 2021 18:24:29 +0200 |
| |
Le 17/04/2021 à 22:17, Randy Dunlap a écrit : > Hi, > > kernel test robot reports: > >>> drivers/cpufreq/pmac32-cpufreq.c:262:2: error: implicit declaration of function 'enable_kernel_fp' [-Werror,-Wimplicit-function-declaration] > enable_kernel_fp(); > ^ > > when > # CONFIG_PPC_FPU is not set > CONFIG_ALTIVEC=y > > I see at least one other place that does not handle that > combination well, here: > > ../arch/powerpc/lib/sstep.c: In function 'do_vec_load': > ../arch/powerpc/lib/sstep.c:637:3: error: implicit declaration of function 'put_vr' [-Werror=implicit-function-declaration] > 637 | put_vr(rn, &u.v); > | ^~~~~~ > ../arch/powerpc/lib/sstep.c: In function 'do_vec_store': > ../arch/powerpc/lib/sstep.c:660:3: error: implicit declaration of function 'get_vr'; did you mean 'get_oc'? [-Werror=implicit-function-declaration] > 660 | get_vr(rn, &u.v); > | ^~~~~~ > > > Should the code + Kconfigs/Makefiles handle that kind of > kernel config or should ALTIVEC always mean PPC_FPU as well?
As far as I understand, Altivec is completely independant of FPU in Theory. So it should be possible to use Altivec without using FPU.
However, until recently, it was not possible to de-activate FPU support on book3s/32. I made it possible in order to reduce unneccessary processing on processors like the 832x that has no FPU. As far as I can see in cputable.h/.c, 832x is the only book3s/32 without FPU, and it doesn't have ALTIVEC either.
So we can in the future ensure that Altivec can be used without FPU support, but for the time being I think it is OK to force selection of FPU when selecting ALTIVEC in order to avoid build failures.
> > I have patches to fix the build errors with the config as > reported but I don't know if that's the right thing to do... >
Lets see them.
Christophe
| |