[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Compiling nouveau open source nvidia graphics card drivers for Xen paravirt-operations domain 0 kernel



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

_______________________________________________
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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.