xfree86: Use same inb/outb asm code for i386 amd64 and ia64

This matches the GCCUSESGAS path from the old monolith build (where that
macro was actually set), and fixes the build on modern OSX.

Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Adam Jackson 2015-10-21 12:15:34 -04:00
parent c99fb550e0
commit 47b00fa4bf
1 changed files with 1 additions and 48 deletions

View File

@ -286,7 +286,7 @@ extern _X_EXPORT unsigned int inl(unsigned int port);
#include <machine/pio.h>
#endif /* __NetBSD__ */
#elif defined(__amd64__)
#elif defined(__amd64__) || defined(__i386__) || defined(__ia64__)
#include <inttypes.h>
@ -967,53 +967,6 @@ inl(unsigned PORT_SIZE port)
#endif /* NDS32_MMIO_SWAP */
#elif defined(__i386__) || defined(__ia64__)
static __inline__ void
outb(unsigned short port, unsigned char val)
{
__asm__ __volatile__("out%B0 (%1)"::"a"(val), "d"(port));
}
static __inline__ void
outw(unsigned short port, unsigned short val)
{
__asm__ __volatile__("out%W0 (%1)"::"a"(val), "d"(port));
}
static __inline__ void
outl(unsigned short port, unsigned int val)
{
__asm__ __volatile__("out%L0 (%1)"::"a"(val), "d"(port));
}
static __inline__ unsigned int
inb(unsigned short port)
{
unsigned char ret;
__asm__ __volatile__("in%B0 (%1)":"=a"(ret):"d"(port));
return ret;
}
static __inline__ unsigned int
inw(unsigned short port)
{
unsigned short ret;
__asm__ __volatile__("in%W0 (%1)":"=a"(ret):"d"(port));
return ret;
}
static __inline__ unsigned int
inl(unsigned short port)
{
unsigned int ret;
__asm__ __volatile__("in%L0 (%1)":"=a"(ret):"d"(port));
return ret;
}
#endif /* arch madness */
#else /* !GNUC */