libpayload: add memory clobber to ins{b,w,l}

Change-Id: I3c4b8a9eeb6c4b2bcc58ccff091b4c997b2da923
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-on: http://review.coreboot.org/4034
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Gerd Hoffmann 2013-11-08 10:46:57 +01:00 committed by Patrick Georgi
parent 04134a52b2
commit e1539ba931
1 changed files with 6 additions and 3 deletions

View File

@ -92,17 +92,20 @@ static inline void outsb(int port, const void *addr, unsigned long count)
static inline void insl(int port, void *addr, unsigned long count)
{
__asm__ __volatile__("rep; insl" : "+D"(addr), "+c"(count) : "d"(port));
__asm__ __volatile__("rep; insl" : "+D"(addr), "+c"(count) : "d"(port)
: "memory");
}
static inline void insw(int port, void *addr, unsigned long count)
{
__asm__ __volatile__("rep; insw" : "+D"(addr), "+c"(count) : "d"(port));
__asm__ __volatile__("rep; insw" : "+D"(addr), "+c"(count) : "d"(port)
: "memory");
}
static inline void insb(int port, void *addr, unsigned long count)
{
__asm__ __volatile__("rep; insb" : "+D"(addr), "+c"(count) : "d"(port));
__asm__ __volatile__("rep; insb" : "+D"(addr), "+c"(count) : "d"(port)
: "memory");
}
#endif