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:
parent
04134a52b2
commit
e1539ba931
|
@ -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)
|
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)
|
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)
|
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
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue