From: "Mr. Teo En Ming (Zhang Enming)" <enming.teo@asiasoftsea.net>
To: enming.teo@asiasoftsea.net
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:20:25 +0800 [thread overview]
Message-ID: <4A8FD479.9050208@asiasoftsea.net> (raw)
In-Reply-To: <4A8FCC0B.6010503@asiasoftsea.net>
[-- Attachment #1.1: Type: text/plain, Size: 23632 bytes --]
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@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
>
[-- Attachment #1.2: Type: text/html, Size: 25923 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2009-08-22 11:20 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) [this message]
2009-08-22 11:34 ` Pasi Kärkkäinen
2009-08-22 11:46 ` Mr. Teo En Ming (Zhang Enming)
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=4A8FD479.9050208@asiasoftsea.net \
--to=enming.teo@asiasoftsea.net \
--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.