The DRM code in Linux 2.5.73 has a new radeon getparam that is clearly not 64bit clean. It tries to return a pointer to an lock in an int, which clearly cannot work. The AMD64 compiler prints a warning for this.
RADEON_PARAM_SAREA_HANDLE does not seem to be used in the code, so I just disabled it. Another issue I noticed is that the padding of the hw_lock is wrong on P4. It only pads to 64bytes, but the L2 cache size there is 128 bytes. Use the Linux ____cacheline_aligned macro for that. -Andi diff -u linux-2.5-amd64/drivers/char/drm/radeon_state.c-o linux-2.5-amd64/drivers/char/drm/radeon_state.c --- linux-2.5-amd64/drivers/char/drm/radeon_state.c-o 2003-07-01 16:17:09.000000000 +0200 +++ linux-2.5-amd64/drivers/char/drm/radeon_state.c 2003-07-01 16:18:40.000000000 +0200 @@ -2195,10 +2195,12 @@ case RADEON_PARAM_STATUS_HANDLE: value = dev_priv->ring_rptr_offset; break; +#if 0 /* broken. not 64bit clean */ case RADEON_PARAM_SAREA_HANDLE: /* The lock is the first dword in the sarea. */ value = (int)dev->lock.hw_lock; break; +#endif case RADEON_PARAM_AGP_TEX_HANDLE: value = dev_priv->agp_textures_offset; break; diff -u linux-2.5-amd64/drivers/char/drm/drmP.h-o linux-2.5-amd64/drivers/char/drm/drmP.h --- linux-2.5-amd64/drivers/char/drm/drmP.h-o 2003-05-24 21:57:47.000000000 +0200 +++ linux-2.5-amd64/drivers/char/drm/drmP.h 2003-07-01 16:19:08.000000000 +0200 @@ -377,8 +377,7 @@ typedef struct drm_hw_lock { __volatile__ unsigned int lock; - char padding[60]; /* Pad to cache line */ -} drm_hw_lock_t; +} drm_hw_lock_t ____cacheline_aligned; typedef struct drm_file { int authenticated; ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel