aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-10-24 17:54:06 -0400
committerKevin O'Connor <kevin@koconnor.net>2009-10-24 17:54:06 -0400
commit7edaa658f625125c306fd971cbda5d5afaee273b (patch)
treeedb1d39ae62aea4c3c4fde885cb2563d39a537e6
parent10ad799ff49508127e75f57c3927603441232ae3 (diff)
downloadseabios-7edaa658f625125c306fd971cbda5d5afaee273b.tar.gz
Enable ins/outs functions to use 32bit addresses.
-rw-r--r--src/ioport.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ioport.h b/src/ioport.h
index 3bfacaea..f22b6656 100644
--- a/src/ioport.h
+++ b/src/ioport.h
@@ -100,28 +100,28 @@ static inline u32 inl(u16 port) {
}
static inline void insb(u16 port, u8 *data, u32 count) {
- asm volatile("rep insb (%%dx), %%es:(%%di)"
+ asm volatile("rep insb (%%dx), %%es:(%%edi)"
: "+c"(count), "+D"(data) : "d"(port) : "memory");
}
static inline void insw(u16 port, u16 *data, u32 count) {
- asm volatile("rep insw (%%dx), %%es:(%%di)"
+ asm volatile("rep insw (%%dx), %%es:(%%edi)"
: "+c"(count), "+D"(data) : "d"(port) : "memory");
}
static inline void insl(u16 port, u32 *data, u32 count) {
- asm volatile("rep insl (%%dx), %%es:(%%di)"
+ asm volatile("rep insl (%%dx), %%es:(%%edi)"
: "+c"(count), "+D"(data) : "d"(port) : "memory");
}
// XXX - outs not limited to es segment
static inline void outsb(u16 port, u8 *data, u32 count) {
- asm volatile("rep outsb %%es:(%%si), (%%dx)"
+ asm volatile("rep outsb %%es:(%%esi), (%%dx)"
: "+c"(count), "+S"(data) : "d"(port) : "memory");
}
static inline void outsw(u16 port, u16 *data, u32 count) {
- asm volatile("rep outsw %%es:(%%si), (%%dx)"
+ asm volatile("rep outsw %%es:(%%esi), (%%dx)"
: "+c"(count), "+S"(data) : "d"(port) : "memory");
}
static inline void outsl(u16 port, u32 *data, u32 count) {
- asm volatile("rep outsl %%es:(%%si), (%%dx)"
+ asm volatile("rep outsl %%es:(%%esi), (%%dx)"
: "+c"(count), "+S"(data) : "d"(port) : "memory");
}