Atlas-200 加速模块驱动安装失败
收藏回复举报
Atlas-200 加速模块驱动安装失败
t('forum.solved') 已解决
发表于2023-08-18 14:47:10
0 查看

使用Linux 5.10.110的内核,安装驱动,驱动文件是Atlas-200-npu-driver_6.0.0_linux-aarch64.run , 安装命令如下:

./Atlas-200-npu-driver_6.0.0_linux-aarch64.run --full --install-username=root --install-usergroup=root --install-for-all

安装提示失败,

查看cat /var/lib/dkms/davinci_hiai/1.0/build/make.log这个文件,发现有如下错误:

  CC [M]  /var/lib/dkms/davinci_hiai/1.0/build/pcie_host/soc_adapt/res_drv_mini_v1.o 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c: In function 'devmm_split_page_memcg': 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:46:9: error: implicit declaration of function 'page_memcg_check'; did you mean 'page_memcg_rcu'? [-Werror=implicit-function-declaration] 

   46 |     if (page_memcg_check(page) == NULL) { 

      |         ^~~~~~~~~~~~~~~~ 

      |         page_memcg_rcu 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:46:32: error: comparison between pointer and integer [-Werror] 

   46 |     if (page_memcg_check(page) == NULL) { 

      |                                ^~ 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:58:40: error: comparison between pointer and integer [-Werror] 

   58 |         if (page_memcg_check(cur_page) != NULL) { 

      |                                        ^~ 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:61:17: error: 'struct page' has no member named 'memcg_data' 

   61 |         cur_page->memcg_data = page->memcg_data | MEMCG_DATA_KMEM; 

      |                 ^~ 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:61:36: error: 'struct page' has no member named 'memcg_data' 

   61 |         cur_page->memcg_data = page->memcg_data | MEMCG_DATA_KMEM; 

      |                                    ^~ 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:61:51: error: 'MEMCG_DATA_KMEM' undeclared (first use in this function) 

   61 |         cur_page->memcg_data = page->memcg_data | MEMCG_DATA_KMEM; 

      |                                                   ^~~~~~~~~~~~~~~ 

/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.c:61:51: note: each undeclared identifier is reported only once for each function it appears in 

cc1: all warnings being treated as errors 

make[3]: *** [scripts/Makefile.build:273:/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster/comm/svm_master_cgroup.o] 错误 1 

make[2]: *** [scripts/Makefile.build:516:/var/lib/dkms/davinci_hiai/1.0/build/svmdrv/pmaster] 错误 2 

make[2]: *** 正在等待未完成的任务.... 

搜索了一些Linux 5.10.110的代码,没有发现page_memcg_check这个函数的定义,MEMCG_DATA_KMEM这个宏也没有找到定义,现在这个驱动是否适配了Linux 5.10.110的版本?目前这个错误应该怎么修改?

我要发帖子