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

Re: [Xen-devel] Compiling nouveau open source nvidia graphics card drive

To: enming.teo@xxxxxxxxxxxxxxx
Subject: Re: [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 19:20:25 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 22 Aug 2009 04:21:47 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4A8FCC0B.6010503@xxxxxxxxxxxxxxx>
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>
References: <4A8FCC0B.6010503@xxxxxxxxxxxxxxx>
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,

Just now in my earlier email, I renamed drivers/gpu/drm/ttm to drivers/gpu/drm/ttm_orig.

However, I forgot to rename include/drm/ttm to include/drm/ttm_orig. Hence the build process complains Makefile in ttm is not found.

Now, I have renamed include/drm/ttm to include/drm/ttm_orig. I have successfully excluded TTM from being built.

But now I get compile errors with nouveau drivers.

pv-ops dom 0 kernel 2.6.30-rc3:

In file included from drivers/gpu/drm/nouveau/nouveau_drv.c:30:
drivers/gpu/drm/nouveau/nouveau_drv.h:67: error: field ‘bo’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h:68: error: field ‘kmap’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nouveau_bo’:
drivers/gpu/drm/nouveau/nouveau_drv.h:89: warning: type defaults to ‘int’ in declaration of ‘__mptr’
drivers/gpu/drm/nouveau/nouveau_drv.h:89: warning: initialization from incompatible pointer type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nvbo_kmap_obj_iovirtual’:
drivers/gpu/drm/nouveau/nouveau_drv.h:103: error: implicit declaration of function ‘ttm_kmap_obj_virtual’
drivers/gpu/drm/nouveau/nouveau_drv.h:104: warning: cast to pointer from integer of different size
drivers/gpu/drm/nouveau/nouveau_drv.h: At top level:
drivers/gpu/drm/nouveau/nouveau_drv.h:482: error: field ‘mem_global_ref’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h:483: error: field ‘bo_global_ref’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h:484: error: field ‘bdev’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nouveau_bdev’:
drivers/gpu/drm/nouveau/nouveau_drv.h:577: warning: type defaults to ‘int’ in declaration of ‘__mptr’
drivers/gpu/drm/nouveau/nouveau_drv.h:577: warning: initialization from incompatible pointer type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nouveau_bo_ref’:
drivers/gpu/drm/nouveau/nouveau_drv.h:589: error: implicit declaration of function ‘ttm_bo_reference’
drivers/gpu/drm/nouveau/nouveau_drv.h:589: warning: passing argument 1 of ‘nouveau_bo’ makes pointer from integer without a cast
drivers/gpu/drm/nouveau/nouveau_drv.h:87: note: expected ‘struct ttm_buffer_object *’ but argument is of type ‘int’
drivers/gpu/drm/nouveau/nouveau_drv.h:593: error: implicit declaration of function ‘ttm_bo_unref’
drivers/gpu/drm/nouveau/nouveau_drv.c: In function ‘nouveau_pci_suspend’:
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: implicit declaration of function ‘ttm_bo_evict_mm’
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: ‘TTM_PL_VRAM’ undeclared (first use in this function)
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: (Each undeclared identifier is reported only once
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: for each function it appears in.)
make[4]: *** [drivers/gpu/drm/nouveau/nouveau_drv.o] Error 1
make[3]: *** [drivers/gpu/drm/nouveau] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2

pv-ops dom 0 kernel 2.6.31-rc6:

In file included from drivers/gpu/drm/nouveau/nouveau_drv.c:30:
drivers/gpu/drm/nouveau/nouveau_drv.h:67: error: field ‘bo’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h:68: error: field ‘kmap’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nouveau_bo’:
drivers/gpu/drm/nouveau/nouveau_drv.h:89: warning: type defaults to ‘int’ in declaration of ‘__mptr’
drivers/gpu/drm/nouveau/nouveau_drv.h:89: warning: initialization from incompatible pointer type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nvbo_kmap_obj_iovirtual’:
drivers/gpu/drm/nouveau/nouveau_drv.h:103: error: implicit declaration of function ‘ttm_kmap_obj_virtual’
drivers/gpu/drm/nouveau/nouveau_drv.h:104: warning: cast to pointer from integer of different size
drivers/gpu/drm/nouveau/nouveau_drv.h: At top level:
drivers/gpu/drm/nouveau/nouveau_drv.h:482: error: field ‘mem_global_ref’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h:483: error: field ‘bo_global_ref’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h:484: error: field ‘bdev’ has incomplete type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nouveau_bdev’:
drivers/gpu/drm/nouveau/nouveau_drv.h:577: warning: type defaults to ‘int’ in declaration of ‘__mptr’
drivers/gpu/drm/nouveau/nouveau_drv.h:577: warning: initialization from incompatible pointer type
drivers/gpu/drm/nouveau/nouveau_drv.h: In function ‘nouveau_bo_ref’:
drivers/gpu/drm/nouveau/nouveau_drv.h:589: error: implicit declaration of function ‘ttm_bo_reference’
drivers/gpu/drm/nouveau/nouveau_drv.h:589: warning: passing argument 1 of ‘nouveau_bo’ makes pointer from integer without a cast
drivers/gpu/drm/nouveau/nouveau_drv.h:87: note: expected ‘struct ttm_buffer_object *’ but argument is of type ‘int’
drivers/gpu/drm/nouveau/nouveau_drv.h:593: error: implicit declaration of function ‘ttm_bo_unref’
drivers/gpu/drm/nouveau/nouveau_drv.c: In function ‘nouveau_pci_suspend’:
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: implicit declaration of function ‘ttm_bo_evict_mm’
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: ‘TTM_PL_VRAM’ undeclared (first use in this function)
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: (Each undeclared identifier is reported only once
drivers/gpu/drm/nouveau/nouveau_drv.c:116: error: for each function it appears in.)
make[4]: *** [drivers/gpu/drm/nouveau/nouveau_drv.o] Error 1
make[3]: *** [drivers/gpu/drm/nouveau] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2



>From the error messages above, it appears that nouveau drivers depended on TTM GPU video memory management driver code. Hence, I cannot exclude TTM from being compiled.

But I get TTM build errors. And hence my nouveau drivers cannot be compiled, since it depended on TTM for graphics processor video memory management.

How can I resolve this? Is it possible that nouveau display drivers are not compatible with Xen paravirt-ops dom 0 kernels just like official NVIDIA display drivers?

If this is the case, I would have to change my graphics card to one which is supported under pv_ops kernel. I had chosen NVIDIA on first instinct because it historically supports Linux.

I would like to keep my NVIDIA card, so are there any patches for ttm code?

Thank you.


-- 
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


On 08/22/2009 06:44 PM, Mr. Teo En Ming (Zhang Enming) wrote:
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





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>