summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2013-11-07 16:51:24 +0100
committerPatrick Georgi <patrick@georgi-clan.de>2013-11-10 20:41:52 +0100
commita91daa5ba15260fc5551ff54fb926d6e2b093711 (patch)
treeb849d9043e2bc0dc42a3c71c2412738a818b40ef
parente1539ba93185931f970f0fdf7d008cbaaf9d234f (diff)
add memory clobber to ins{b,w,l}
Change-Id: Ia710eb59f23a52afba2a8ef6e0ff2b2306107245 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-on: http://review.coreboot.org/4033 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r--src/arch/x86/include/arch/io.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/arch/x86/include/arch/io.h b/src/arch/x86/include/arch/io.h
index 50264f653c..955d8e2f91 100644
--- a/src/arch/x86/include/arch/io.h
+++ b/src/arch/x86/include/arch/io.h
@@ -113,6 +113,7 @@ static inline void insb(uint16_t port, void *addr, unsigned long count)
"cld ; rep ; insb "
: "=D" (addr), "=c" (count)
: "d"(port), "0"(addr), "1" (count)
+ : "memory"
);
}
@@ -122,6 +123,7 @@ static inline void insw(uint16_t port, void *addr, unsigned long count)
"cld ; rep ; insw "
: "=D" (addr), "=c" (count)
: "d"(port), "0"(addr), "1" (count)
+ : "memory"
);
}
@@ -131,6 +133,7 @@ static inline void insl(uint16_t port, void *addr, unsigned long count)
"cld ; rep ; insl "
: "=D" (addr), "=c" (count)
: "d"(port), "0"(addr), "1" (count)
+ : "memory"
);
}