diff options
author | Keith Packard <keithp@keithp.com> | 2009-10-13 18:40:42 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-10-13 18:40:42 -0700 |
commit | 6e158003e80534ce007290f75c89d698aec1d00b (patch) | |
tree | 21865cf3816b155b100ffbdda6d99ff98d688ae1 /hw/xfree86/os-support/linux | |
parent | 2b14e142039193ea854a02706662204f4f5f6db8 (diff) | |
parent | 5e762f0e2f203b5121a3de3b9af3c8981b31a77f (diff) |
Merge remote branch 'mattst88/master'
* mattst88/master:
[alpha] assume we have __NR_pciconfig_iobase
[alpha] don't return from void functions
Fix undefined symbols on alpha
Fix breakage on alpha caused by c7680befe5ae
Revert "alpha: kill xf86SlowBCopyToBus and xf86SlowBCopyFromBus"
Diffstat (limited to 'hw/xfree86/os-support/linux')
-rw-r--r-- | hw/xfree86/os-support/linux/lnx_axp.c | 16 | ||||
-rw-r--r-- | hw/xfree86/os-support/linux/lnx_ev56.c | 18 |
2 files changed, 18 insertions, 16 deletions
diff --git a/hw/xfree86/os-support/linux/lnx_axp.c b/hw/xfree86/os-support/linux/lnx_axp.c index 8571c048b..10b97b0d6 100644 --- a/hw/xfree86/os-support/linux/lnx_axp.c +++ b/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/hw/xfree86/os-support/linux/lnx_ev56.c b/hw/xfree86/os-support/linux/lnx_ev56.c index e751da2d0..c65e1cca4 100644 --- a/hw/xfree86/os-support/linux/lnx_ev56.c +++ b/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 |