[Letux-kernel] Question to Kbuild specialists: build multiple kenrel moduled from single directory/Makefile?

H. Nikolaus Schaller hns at goldelico.com
Wed Nov 2 17:11:01 CET 2016


Hi Andrey,
I just found it :)

There was a tiny patch between v4.9-rc2 and v4.9-rc3:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/include/linux/mm.h?id=0d7317598214134d73da59990b846481a9527a00

which has removed __get_user_pages from the public API last week...

If I remember correctly I did not compile test the pvr code after rebase to letux-4.9-rc3
because of problems with the reset-controller and difficulties to include both, sgx530/540 and sgx544.

It appears to be not difficult to replace __get_user_pages() by get_user_pages_remote() (or get_user_pages_un/locked?).

Will look into that now.

BR and thanks,
Nikolaus


> Am 01.11.2016 um 22:50 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi,
> 
>> Am 01.11.2016 um 22:40 schrieb Andrey Utkin <andrey_utkin at fastmail.com>:
>> 
>> Which branch should I use?
>> I've tried work/hns/gpu/pvr-v4, but get this when I build letux_defconfig
>> kernel inside ARM chroot (gentoo stage3, gcc 4.9.3):
>> 
>> # make
>> CHK     include/config/kernel.release
>> CHK     include/generated/uapi/linux/version.h
>> CHK     include/generated/utsrelease.h
>> CHK     include/generated/bounds.h
>> CHK     include/generated/timeconst.h
>> CHK     include/generated/asm-offsets.h
>> CALL    scripts/checksyscalls.sh
>> <stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
>> <stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
>> <stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]
>> CHK     include/generated/compile.h
>> CHK     kernel/config_data.h
>> DTC     drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb
>> DTB     drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb.S
>> AS      drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb.o
>> LD      drivers/gpu/drm/tilcdc/built-in.o
>> rm drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb.S
>> LD      drivers/gpu/drm/built-in.o
>> CC [M]  drivers/gpu/drm/drm_global.o
>> CC [M]  drivers/gpu/drm/drm_prime.o
>> LD [M]  drivers/gpu/drm/drm.o
>> CC [M]  drivers/gpu/pvr/omap3/../../drm/drm_global.o
>> CC [M]  drivers/gpu/pvr/omap3/../../drm/drm_prime.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/bridged/bridged_pvr_bridge.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/bridged/bridged_support.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/bridged/sgx/bridged_sgx_bridge.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/buffer_manager.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/deviceclass.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/devicemem.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/handle.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/hash.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/lists.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/mem.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/mem_debug.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/metrics.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/osfunc_common.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/pdump_common.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/perproc.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/power.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/pvrsrv.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/queue.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/ra.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/refcount.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/common/resman.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/mmu.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/pb.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/sgxinit.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/sgxkick.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/sgxpower.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/sgxreset.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/sgxtransfer.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/devices/sgx/sgxutils.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/event.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/mm.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/mmap.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/module.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/mutex.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/mutils.o
>> CC [M]  drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.o
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘OSAcquirePhysPageAddr’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:3611:5: error: implicit declaration of function ‘__get_user_pages’ [-Werror=implicit-function-declaration]
>>    psInfo->iNumPagesMapped = __get_user_pages(current, current->mm, uStartAddr, psInfo->iNumPages, FOLL_WRITE, psInfo->ppsPages, NULL, NULL);
>>    ^
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘pvr_dmac_inv_range’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:4335:2: warning: #warning fix pvr_dmac_inv_range [-Wcpp]
>> #warning fix pvr_dmac_inv_range
>> ^
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘pvr_dmac_clean_range’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:4346:2: warning: #warning fix pvr_dmac_clean_range [-Wcpp]
>> #warning fix pvr_dmac_clean_range
>> ^
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘pvr_dmac_flush_range’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:4357:2: warning: #warning fix pvr_dmac_flush_range [-Wcpp]
>> #warning fix pvr_dmac_flush_range
>> ^
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘OSFlushCPUCacheRangeKM’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:4367:2: warning: #warning fix OSFlushCPUCacheRangeKM [-Wcpp]
>> #warning fix OSFlushCPUCacheRangeKM
>> ^
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘OSCleanCPUCacheRangeKM’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:4378:2: warning: #warning fix OSCleanCPUCacheRangeKM [-Wcpp]
>> #warning fix OSCleanCPUCacheRangeKM
>> ^
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c: In function ‘OSInvalidateCPUCacheRangeKM’:
>> drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.c:4389:2: warning: #warning fix OSInvalidateCPUCacheRangeKM [-Wcpp]
>> #warning fix OSInvalidateCPUCacheRangeKM
>> ^
>> cc1: some warnings being treated as errors
>> scripts/Makefile.build:290: recipe for target 'drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.o' failed
>> make[3]: *** [drivers/gpu/pvr/omap3/services4/srvkm/env/linux/osfunc.o] Error 1
>> scripts/Makefile.build:475: recipe for target 'drivers/gpu/pvr/omap3' failed
>> make[2]: *** [drivers/gpu/pvr/omap3] Error 2
>> scripts/Makefile.build:475: recipe for target 'drivers/gpu' failed
>> make[1]: *** [drivers/gpu] Error 2
>> Makefile:978: recipe for target 'drivers' failed
>> make: *** [drivers] Error 2
> 
> looks like some (missing) dependency. I will check tomorrow.
> 
> BR,
> Nikolaus
> 
> 
> _______________________________________________
> http://projects.goldelico.com/p/gta04-kernel/
> Letux-kernel mailing list
> Letux-kernel at openphoenux.org
> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel



More information about the Letux-kernel mailing list