diff options
Diffstat (limited to 'hw/xfree86/os-support/bsd/alpha_video.c')
-rw-r--r-- | hw/xfree86/os-support/bsd/alpha_video.c | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/hw/xfree86/os-support/bsd/alpha_video.c b/hw/xfree86/os-support/bsd/alpha_video.c index aa3313dc3..bab184e7c 100644 --- a/hw/xfree86/os-support/bsd/alpha_video.c +++ b/hw/xfree86/os-support/bsd/alpha_video.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.5 2003/04/03 16:50:04 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.6 2003/12/30 15:18:30 herrb Exp $ */ /* * Copyright 1992 by Rich Murphey <Rich@Rice.edu> * Copyright 1993 by David Wexelblat <dwex@goblin.org> @@ -117,11 +117,13 @@ has_bwx(void) #endif } #else /* __NetBSD__ */ +static unsigned long hae_thresh = (1UL << 24); +static unsigned long hae_mask = 0xf8000000UL; /* XXX - should use xf86AXP.c */ static struct alpha_bus_window *abw; static int abw_count = -1; static void -init_abw() +init_abw(void) { if (abw_count < 0) { abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw); @@ -142,7 +144,7 @@ has_bwx(void) } static unsigned long -dense_base() +dense_base(void) { if (abw_count < 0) init_abw(); @@ -154,7 +156,7 @@ dense_base() } static unsigned long -memory_base() +memory_base(void) { if (abw_count < 0) init_abw(); @@ -284,11 +286,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem) xf86Msg(X_PROBED,"Machine needs sparse mapping\n"); pVidMem->mapMem = mapVidMemSparse; pVidMem->unmapMem = unmapVidMemSparse; +#ifndef __NetBSD__ if (axpSystem == -1) axpSystem = bsdGetAXP(); hae_thresh = xf86AXPParams[axpSystem].hae_thresh; hae_mask = xf86AXPParams[axpSystem].hae_mask; sparse_size = xf86AXPParams[axpSystem].size; +#endif /* __NetBSD__ */ } pVidMem->initialised = TRUE; } @@ -314,7 +318,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX); if (base == MAP_FAILED) { - FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n", + FatalError("%s: could not mmap %s [s=%lx,a=%lx] (%s)\n", "xf86MapVidMem", DEV_MEM, Size, Base, strerror(errno)); } @@ -324,7 +328,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) /* else, mmap /dev/vga */ if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000) { - FatalError("%s: Address 0x%x outside allowable range\n", + FatalError("%s: Address 0x%lx outside allowable range\n", "xf86MapVidMem", Base); } base = mmap(0, Size, @@ -372,7 +376,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, if ((long)ptr == -1) { xf86Msg(X_WARNING, - "xf86ReadBIOS: %s mmap[s=%x,a=%x,o=%x] failed (%s)\n", + "xf86ReadBIOS: %s mmap[s=%x,a=%lx,o=%lx] failed (%s)\n", DEV_MEM, Len, Base, Offset, strerror(errno)); return(-1); } @@ -490,6 +494,7 @@ struct parms { u_int64_t hae; }; +#ifndef __NetBSD__ static int sethae(u_int64_t hae) { @@ -505,6 +510,7 @@ sethae(u_int64_t hae) return -1; #endif } +#endif /* __NetBSD__ */ static pointer mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags) @@ -553,7 +559,6 @@ readSparse8(pointer Base, register unsigned long Offset) { register unsigned long result, shift; register unsigned long msb; - mem_barrier(); Offset += (unsigned long)Base - (unsigned long)memBase; shift = (Offset & 0x3) << 3; @@ -561,11 +566,12 @@ readSparse8(pointer Base, register unsigned long Offset) msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { +#ifndef __NetBSD__ sethae(msb); +#endif msb_set = msb; } } - result = *(vuip) ((unsigned long)memSBase + (Offset << 5)); result >>= shift; return 0xffUL & result; @@ -584,7 +590,9 @@ readSparse16(pointer Base, register unsigned long Offset) msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { +#ifndef __NetBSD__ sethae(msb); +#endif msb_set = msb; } } @@ -612,7 +620,9 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset) msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { +#ifndef __NetBSD__ sethae(msb); +#endif msb_set = msb; } } @@ -631,7 +641,9 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset) msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { +#ifndef __NetBSD__ sethae(msb); +#endif msb_set = msb; } } @@ -659,7 +671,9 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset) msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { +#ifndef __NetBSD__ sethae(msb); +#endif msb_set = msb; } } @@ -677,7 +691,9 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset) msb = Offset & hae_mask ; Offset -= msb; if (msb_set != msb) { +#ifndef __NetBSD__ sethae(msb); +#endif msb_set = msb; } } |