diff options
Diffstat (limited to 'sys/i386/pci/pci_cfgreg.c')
-rw-r--r-- | sys/i386/pci/pci_cfgreg.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/i386/pci/pci_cfgreg.c b/sys/i386/pci/pci_cfgreg.c index 651a36c..115ea00 100644 --- a/sys/i386/pci/pci_cfgreg.c +++ b/sys/i386/pci/pci_cfgreg.c @@ -681,15 +681,15 @@ pciereg_cfgread(int bus, unsigned slot, unsigned func, unsigned reg, switch (bytes) { case 4: - __asm __volatile("mov %1, %%eax" : "=a" (data) + __asm __volatile("movl %1, %0" : "=a" (data) : "m" (*(uint32_t *)va)); break; case 2: - __asm __volatile("movzwl %1, %%eax" : "=a" (data) + __asm __volatile("movzwl %1, %0" : "=a" (data) : "m" (*(uint16_t *)va)); break; case 1: - __asm __volatile("movzbl %1, %%eax" : "=a" (data) + __asm __volatile("movzbl %1, %0" : "=a" (data) : "m" (*(uint8_t *)va)); break; } @@ -718,16 +718,16 @@ pciereg_cfgwrite(int bus, unsigned slot, unsigned func, unsigned reg, int data, switch (bytes) { case 4: - __asm __volatile("mov %%eax, %0" : "=m" (*(uint32_t *)va) + __asm __volatile("movl %1, %0" : "=m" (*(uint32_t *)va) : "a" (data)); break; case 2: - __asm __volatile("mov %%ax, %0" : "=m" (*(uint16_t *)va) - : "a" (data)); + __asm __volatile("movw %1, %0" : "=m" (*(uint16_t *)va) + : "a" ((uint16_t)data)); break; case 1: - __asm __volatile("mov %%al, %0" : "=m" (*(uint8_t *)va) - : "a" (data)); + __asm __volatile("movb %1, %0" : "=m" (*(uint8_t *)va) + : "a" ((uint8_t)data)); break; } |