On Mon, Aug 22, 2005 at 09:40:53PM +0200, Kurt Roeckx wrote:

 > Your package is failing to build because it's missing build
 > dependencies:
 > gcc -DHAVE_CONFIG_H -I. -I. -I. -I../shared-core -Wall -g -O2 -MT xf86drm.lo 
 > -MD -MP -MF .deps/xf86drm.Tpo -c xf86drm.c  -fPIC -DPIC -o .libs/xf86drm.o
 > xf86drm.c:66:27: error: X11/Xlibint.h: No such file or directory

 Sorry about that.  I picked it up and forgot to actually write the info
 in the file.

 > It also gives warnings like this on a 64 bit arch:
 > xf86drm.c: In function 'drmAddMap':
 > xf86drm.c:891: warning: cast from pointer to integer of different size
 > xf86drm.c: In function 'drmRmMap':
 > xf86drm.c:899: warning: cast to pointer from integer of different size
 > xf86drm.c: In function 'drmAddContextPrivateMapping':
 > xf86drm.c:1945: warning: cast to pointer from integer of different size
 > xf86drm.c: In function 'drmGetContextPrivateMapping':
 > xf86drm.c:1958: warning: cast from pointer to integer of different size
 > 
 > Those are probably signs that it's not 64 bit clean.  I have the
 > feeling that handle points to some memory region, so this might be
 > causing problems.

 Hmmm...

 This is the file in the package:

#if defined(__linux__)
typedef unsigned int drm_handle_t;
#else
typedef unsigned long drm_handle_t;     /**< To mapped regions */
#endif

/**
 * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls
 * argument type.
 *
 * \sa drmAddMap().
 */
typedef struct drm_map {
        unsigned long offset;    /**< Requested physical address (0 for SAREA)*/
        unsigned long size;      /**< Requested physical size (bytes) */
        drm_map_type_t type;     /**< Type of memory to map */
        drm_map_flags_t flags;   /**< Flags */
        void *handle;            /**< User-space: "Handle" to pass to mmap() */
                                 /**< Kernel-space: kernel-virtual address */
        int mtrr;                /**< MTRR slot used */
        /*   Private data */
} drm_map_t;

 This is the same file in the kernel (2.6.12):

typedef unsigned long drm_handle_t;

/**
 * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls
 * argument type.
 *
 * \sa drmAddMap().
 */
typedef struct drm_map {
        unsigned long   offset;  /**< Requested physical address (0 for SAREA)*/
        unsigned long   size;    /**< Requested physical size (bytes) */
        drm_map_type_t  type;    /**< Type of memory to map */
        drm_map_flags_t flags;   /**< Flags */
        void            *handle; /**< User-space: "Handle" to pass to mmap() */
                                 /**< Kernel-space: kernel-virtual address */
        int             mtrr;    /**< MTRR slot used */
                                 /*   Private data */
} drm_map_t;

 Do you have hardware where you can try this?  I mean, I can blindly
 make the change, but I'm not sure what I'll be breaking.

-- 
Marcelo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to