diff options
Diffstat (limited to 'xorg-server/hw/xfree86/os-support/linux')
-rw-r--r-- | xorg-server/hw/xfree86/os-support/linux/lnx_axp.c | 16 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c | 18 |
2 files changed, 18 insertions, 16 deletions
diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c b/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c index 8571c048b..10b97b0d6 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c @@ -125,12 +125,12 @@ extern unsigned int _dense_inb(unsigned long); extern unsigned int _dense_inw(unsigned long); extern unsigned int _dense_inl(unsigned long); -void (*_alpha_outb)(char, unsigned long) = _outb; -void (*_alpha_outw)(short, unsigned long) = _outw; -void (*_alpha_outl)(int, unsigned long) = _outl; -unsigned int (*_alpha_inb)(unsigned long) = _inb; -unsigned int (*_alpha_inw)(unsigned long) = _inw; -unsigned int (*_alpha_inl)(unsigned long) = _inl; +_X_EXPORT void (*_alpha_outb)(char, unsigned long) = _outb; +_X_EXPORT void (*_alpha_outw)(short, unsigned long) = _outw; +_X_EXPORT void (*_alpha_outl)(int, unsigned long) = _outl; +_X_EXPORT unsigned int (*_alpha_inb)(unsigned long) = _inb; +_X_EXPORT unsigned int (*_alpha_inw)(unsigned long) = _inw; +_X_EXPORT unsigned int (*_alpha_inl)(unsigned long) = _inl; static long _alpha_iobase_query(unsigned, int, int, int); long (*_iobase)(unsigned, int, int, int) = _alpha_iobase_query; @@ -138,16 +138,12 @@ long (*_iobase)(unsigned, int, int, int) = _alpha_iobase_query; static long _alpha_iobase(unsigned flags, int hose, int bus, int devfn) { -#ifdef __NR_pciconfig_iobase if (bus < 0) { bus = hose; flags |= IOBASE_FROM_HOSE; } return syscall(__NR_pciconfig_iobase, flags, bus, devfn); -#else - return -ENOSYS -#endif } static long diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c b/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c index e751da2d0..c65e1cca4 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c @@ -94,28 +94,34 @@ writeDense32(int Value, pointer Base, register unsigned long Offset) void _dense_outb(char val, unsigned long port) { - if ((port & ~0xffff) == 0) return _outb(val, port); - + if ((port & ~0xffff) == 0) { + _outb(val, port); + } else { write_mem_barrier(); *(volatile CARD8 *)port = val; + } } void _dense_outw(short val, unsigned long port) { - if ((port & ~0xffff) == 0) return _outw(val, port); - + if ((port & ~0xffff) == 0) { + _outw(val, port); + } else { write_mem_barrier(); *(volatile CARD16 *)port = val; + } } void _dense_outl(int val, unsigned long port) { - if ((port & ~0xffff) == 0) return _outl(val, port); - + if ((port & ~0xffff) == 0) { + _outl(val, port); + } else { write_mem_barrier(); *(volatile CARD32 *)port = val; + } } unsigned int |