[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Compiling nouveau open source nvidia graphics card drivers for Xen paravirt-operations domain 0 kernel



Dear Xen developers,

I am using Xen paravirt-operations domain 0 kernels 2.6.30-rc3 and 2.6.31-rc6 cloned from Jeremy Fitzhardinge's kernel git tree.

I am trying to compile the nouveau open source drivers for NVIDIA graphics cards.

I am following the nouveau kernel module build instructions at http://nouveau.freedesktop.org/wiki/InstallDRM

Specifically, I am following Section

3.2. Alt: Rebuilding your existing kernel with new DRM and Nouveau parts


in the nouveau kernel module build instructions.

However, when I am compiling the kernel and kernel modules (using make), it encountered an error with the translation-table map (TTM) GPU video memory management driver.

*** How can I exclude TTM from being built? ***

pv-ops kernel 2.6.30-rc3:-

In file included from /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/agp.h:8,
from drivers/gpu/drm/ttm/ttm_agp_backend.c:39:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘get_dma_ops’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:29: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:32: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_mapping_error’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:40: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:41: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:58: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:58: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_map_single’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:64: error: implicit declaration of function ‘valid_dma_direction’
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:65: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:76: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:76: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_unmap_single’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:81: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:82: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:88: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:88: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_map_sg’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:99: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:107: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:107: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_unmap_sg’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:113: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:114: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:119: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:119: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_sync_single_for_cpu’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:124: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:125: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:132: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:132: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_sync_single_for_device’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:137: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:138: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:146: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:146: error: parameter 5 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_sync_single_range_for_cpu’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:151: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:152: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:162: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:162: error: parameter 5 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_sync_single_range_for_device’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:167: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:168: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:177: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:177: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_sync_sg_for_cpu’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:182: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:183: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:190: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:190: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_sync_sg_for_device’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:195: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:196: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:204: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:204: error: parameter 5 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_map_page’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:211: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:218: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:218: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_unmap_page’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:223: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:224: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:230: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:230: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_alloc_coherent_mask’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:247: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:249: error: implicit declaration of function ‘DMA_BIT_MASK’
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_alloc_coherent’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:284: error: implicit declaration of function ‘is_device_dma_capable’
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:287: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:290: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h: In function ‘dma_free_coherent’:
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:308: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-mapping.h:309: error: dereferencing pointer to incomplete type
drivers/gpu/drm/ttm/ttm_agp_backend.c: In function ‘ttm_agp_populate’:
drivers/gpu/drm/ttm/ttm_agp_backend.c:66: error: ‘struct agp_memory’ has no member named ‘pages’
make[4]: *** [drivers/gpu/drm/ttm/ttm_agp_backend.o] Error 1
make[3]: *** [drivers/gpu/drm/ttm] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2

pv-ops kernel 2.6.31-rc6:-

In file included from /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/agp.h:8,
from drivers/gpu/drm/ttm/ttm_agp_backend.c:39:
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h: In function ‘dma_mapping_error’:
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:42: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:43: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h: At top level:
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:60: warning: ‘enum dma_data_direction’ declared inside parameter list
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:60: error: parameter 4 (‘dir’) has incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h: In function ‘dma_alloc_coherent_mask’:
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:77: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:79: error: implicit declaration of function ‘DMA_BIT_MASK’
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h: In function ‘dma_alloc_coherent’:
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:114: error: implicit declaration of function ‘is_device_dma_capable’
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:117: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:120: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h: In function ‘dma_free_coherent’:
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:138: error: dereferencing pointer to incomplete type
/usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mapping.h:139: error: dereferencing pointer to incomplete type
make[4]: *** [drivers/gpu/drm/ttm/ttm_agp_backend.o] Error 1
make[3]: *** [drivers/gpu/drm/ttm] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2

I would like to exclude TTM from being compiled. May I know which build scripts do I modify?

I tried renaming drivers/gpu/ttm to drivers/gpu/ttm_orig in the kernel souces but it doesn't work.
scripts/Makefile.build:44: /usr/src/kernels/2.6.31-rc6-enming.teo/drivers/gpu/drm/ttm/Makefile: No such file or directory
make[4]: *** No rule to make target `/usr/src/kernels/2.6.31-rc6-enming.teo/drivers/gpu/drm/ttm/Makefile'.  Stop.
make[3]: *** [drivers/gpu/drm/ttm] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2


It simply complains that ttm directory cannot be found and Makefile in ttm dir does not exist. This is of course due to me renaming the ttm directory in the kernel sources. I want to prevent ttm from being built.

Thank you very much.

Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) BEng(Hons)(Mechanical Engineering) 
Technical Support Engineer 
Information Technology Department
Asiasoft Online Pte Ltd
Tampines Central 1 #04-01 Tampines Plaza 
Singapore 529541
Republic of Singapore
Mobile: +65-9648-9798
MSN: teoenming@xxxxxxxxxxx
Alma Maters: Singapore Polytechnic, National University of Singapore
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.