From: "Mr. Teo En Ming (Zhang Enming)" <enming.teo@asiasoftsea.net>
To: pasik@iki.fi
Cc: xen-devel@lists.xensource.com
Subject: Re: Compiling nouveau open source nvidia graphics card drivers for Xen paravirt-operations domain 0 kernel
Date: Sat, 22 Aug 2009 19:46:13 +0800 [thread overview]
Message-ID: <4A8FDA85.7090205@asiasoftsea.net> (raw)
In-Reply-To: <20090822113422.GB19938@edu.joroinen.fi>
Dear Pasi,
I have nouveau driver on my stock/default Fedora 11 kernel that does not
depend on ttm.
lsmod | grep ttm shows up nothing.
--
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@hotmail.com
Alma Maters: Singapore Polytechnic, National University of Singapore
On 08/22/2009 07:34 PM, Pasi Kärkkäinen wrote:
> On Sat, Aug 22, 2009 at 07:20:25PM +0800, Mr. Teo En Ming (Zhang Enming) wrote:
>
>> 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.
>>
>>
> Uhm.. it looks like that nouveau driver _requires_ TTM.
>
> -- Pasi
>
>
>> 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@hotmail.com
>> 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@hotmail.com
>>> Alma Maters: Singapore Polytechnic, National University of Singapore
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xensource.com
>>> http://lists.xensource.com/xen-devel
>>>
>>>
>>
>>
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
>>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
prev parent reply other threads:[~2009-08-22 11:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-22 10:44 Compiling nouveau open source nvidia graphics card drivers for Xen paravirt-operations domain 0 kernel Mr. Teo En Ming (Zhang Enming)
2009-08-22 11:19 ` Pasi Kärkkäinen
2009-08-22 11:43 ` Mr. Teo En Ming (Zhang Enming)
2009-08-22 12:31 ` Mr. Teo En Ming (Zhang Enming)
2009-08-22 12:44 ` Boris Derzhavets
2009-08-22 12:53 ` Mr. Teo En Ming (Zhang Enming)
2009-08-22 12:57 ` Mr. Teo En Ming (Zhang Enming)
2009-08-22 13:22 ` Boris Derzhavets
2009-08-22 13:52 ` Teo En Ming (Zhang Enming)
2009-08-22 14:22 ` Boris Derzhavets
2009-08-22 18:56 ` Mr. Teo En Ming (Zhang Enming)
2009-08-23 7:36 ` Boris Derzhavets
2009-08-23 15:41 ` Mr. Teo En Ming (Zhang Enming)
2009-08-22 11:20 ` Mr. Teo En Ming (Zhang Enming)
2009-08-22 11:34 ` Pasi Kärkkäinen
2009-08-22 11:46 ` Mr. Teo En Ming (Zhang Enming) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A8FDA85.7090205@asiasoftsea.net \
--to=enming.teo@asiasoftsea.net \
--cc=pasik@iki.fi \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.