diff options
Diffstat (limited to 'libdrm/xf86drm.c')
-rw-r--r-- | libdrm/xf86drm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libdrm/xf86drm.c b/libdrm/xf86drm.c index 8d663dae8..ffc85d8cb 100644 --- a/libdrm/xf86drm.c +++ b/libdrm/xf86drm.c @@ -27,7 +27,7 @@ * Authors: Rickard E. (Rik) Faith <faith@valinux.com> * Kevin E. Martin <martin@valinux.com> * - * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c,v 1.18 2001/03/21 18:08:54 dawes Exp $ + * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c,v 1.20 2001/04/18 18:44:39 dawes Exp $ * */ @@ -67,6 +67,11 @@ extern int xf86RemoveSIGIOHandler(int fd); # endif #endif +#if defined(__alpha__) && defined(__linux__) +extern unsigned long _bus_base(void); +#define BUS_BASE _bus_base() +#endif + /* Not all systems have MAP_FAILED defined */ #ifndef MAP_FAILED #define MAP_FAILED ((void *)-1) @@ -489,6 +494,11 @@ int drmAddMap(int fd, drm_map_t map; map.offset = offset; +#ifdef __alpha__ + /* Make sure we add the bus_base to all but shm */ + if (type != DRM_SHM) + map.offset += BUS_BASE; +#endif map.size = size; map.handle = 0; map.type = type; |