kvm: Use 32-bit operand size prefix for rdfs8()

E820 memory map resides in EBDA region which starts at address 0x9fc00 which
doesn't fit in 16 bits. Therefore, use 'addr32' operand size prefix to fix the
following error:

  bios/e820.c: Assembler messages:
  bios/e820.c:14: Warning: 654336 shortened to 64512

Acked-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
This commit is contained in:
Pekka Enberg
2015-06-01 16:39:40 +01:00
committed by Will Deacon
parent 2346d461f0
commit 8cc7d24b4f
+3 -1
View File
@@ -11,7 +11,9 @@ static inline void outb(uint8_t v, uint16_t port)
static inline uint8_t rdfs8(unsigned long addr)
{
uint8_t v;
asm volatile("movb %%fs:%1,%0" : "=q" (v) : "m" (*(uint8_t *)addr));
asm volatile("addr32 movb %%fs:%1,%0" : "=q" (v) : "m" (*(uint8_t *)addr));
return v;
}