Commit 47b00fa4 authored by Adam Jackson's avatar Adam Jackson

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: 's avatarJeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
parent c99fb550
......@@ -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 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment