From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mr. Teo En Ming (Zhang Enming)" 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 Message-ID: <4A8FDA85.7090205@asiasoftsea.net> References: <4A8FCC0B.6010503@asiasoftsea.net> <4A8FD479.9050208@asiasoftsea.net> <20090822113422.GB19938@edu.joroinen.fi> Reply-To: enming.teo@asiasoftsea.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20090822113422.GB19938@edu.joroinen.fi> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: pasik@iki.fi Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Dear Pasi, I have nouveau driver on my stock/default Fedora 11 kernel that does not=20 depend on ttm. lsmod | grep ttm shows up nothing. --=20 Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics Engineering) BEng(Hons)(M= echanical 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=E4rkk=E4inen wrote: > On Sat, Aug 22, 2009 at 07:20:25PM +0800, Mr. Teo En Ming (Zhang Enming= ) wrote: > =20 >> 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. H= ence >> 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. >> >> =20 > Uhm.. it looks like that nouveau driver _requires_ TTM. > > -- Pasi > > =20 >> 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 incomp= lete >> 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 'i= nt' >> 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 fr= om >> 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_re= f' >> 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 fro= m >> 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_suspen= d': >> 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' undecl= ared >> (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 incomp= lete >> 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 'i= nt' >> 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 fr= om >> 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_re= f' >> 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 fro= m >> 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_suspen= d': >> 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' undecl= ared >> (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 depend= ed on >> TTM GPU video memory management driver code. Hence, I cannot exclude T= TM >> 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 ar= e not >> compatible with Xen paravirt-ops dom 0 kernels just like official NVID= IA >> display drivers? >> >> If this is the case, I would have to change my graphics card to one wh= ich >> is supported under pv_ops kernel. I had chosen NVIDIA on first instinc= t >> because it historically supports Linux. >> >> I would like to keep my NVIDIA card, so are there any patches for ttm = code? >> >> Thank you. >> >> >> --=20 >> 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: >> =20 >>> 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, >>> =20 >> >from drivers/gpu/drm/ttm/ttm_agp_backend.c:39: >> =20 >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'get_dma_ops': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:29: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:32: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_mapping_error': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:40: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:41: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:58: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_map_single': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:65: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:76: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_unmap_single': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:81: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:82: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:88: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_map_sg': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:99: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:107: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_unmap_sg': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:113: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:114: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:119: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_sync_single_for_cpu': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:124: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:125: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:132: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_sync_single_for_device': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:137: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:138: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:146: >>> error: parameter 5 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_sync_single_range_for_cpu': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:151: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:152: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:162: >>> error: parameter 5 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_sync_single_range_for_device': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:167: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:168: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:177: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_sync_sg_for_cpu': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:182: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:183: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:190: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_sync_sg_for_device': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:195: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:196: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:204: >>> error: parameter 5 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_map_page': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:211: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:218: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_unmap_page': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:223: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:224: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> At top level: >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:230: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_alloc_coherent_mask': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:247: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h: >>> In function 'dma_alloc_coherent': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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-m= apping.h:287: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:290: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h: >>> In function 'dma_free_coherent': >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.h:308: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.30-rc3-enming.teo-tip/arch/x86/include/asm/dma-m= apping.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, >>> =20 >> >from drivers/gpu/drm/ttm/ttm_agp_backend.c:39: >> =20 >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h: >>> In function 'dma_mapping_error': >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h:42: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h:43: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h: >>> At top level: >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.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-mappi= ng.h:60: >>> error: parameter 4 ('dir') has incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h: >>> In function 'dma_alloc_coherent_mask': >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h:77: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h:79: >>> error: implicit declaration of function 'DMA_BIT_MASK' >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h: >>> In function 'dma_alloc_coherent': >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.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-mappi= ng.h:117: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h:120: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h: >>> In function 'dma_free_coherent': >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.h:138: >>> error: dereferencing pointer to incomplete type >>> /usr/src/kernels/2.6.31-rc6-enming.teo/arch/x86/include/asm/dma-mappi= ng.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 kerne= l >>> 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 i= n >>> 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 bui= lt. >>> >>> 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 >>> >>> =20 >> >> =20 > =20 >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> =20 > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > =20