WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Compiling nouveau open source nvidia graphics card drivers f

To: xen-devel@xxxxxxxxxxxxxxxxxxx, enming.teo@xxxxxxxxxxxxxxx
Subject: [Xen-devel] Compiling nouveau open source nvidia graphics card drivers for Xen paravirt-operations domain 0 kernel
From: "Mr. Teo En Ming (Zhang Enming)" <enming.teo@xxxxxxxxxxxxxxx>
Date: Sat, 22 Aug 2009 18:44:27 +0800
Cc:
Delivery-date: Sat, 22 Aug 2009 03:45:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Reply-to: enming.teo@xxxxxxxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3
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
<Prev in Thread] Current Thread [Next in Thread>