qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 2/5] linuxboot_dma: move common functions in


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v5 2/5] linuxboot_dma: move common functions in a new header
Date: Mon, 21 Jan 2019 16:43:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 18/01/19 13:01, Stefano Garzarella wrote:
> +static inline uint8_t inb(uint16_t port)
> +{
> +    uint8_t value;
> +
> +    asm volatile("outl %w1, %0" : : "a"(value), "Nd"(port));
> +    return value;
> +}
> +
> +static inline uint16_t inw(uint16_t port)
> +{
> +    uint16_t value;
> +
> +    asm volatile("outl %w1, %0" : : "a"(value), "Nd"(port));
> +    return value;
> +}
> +
> +static inline uint32_t inl(uint16_t port)
> +{
> +    uint32_t value;
> +
> +    asm volatile("outl %w1, %0" : : "a"(value), "Nd"(port));
> +    return value;
> +}
>

Almost:

diff --git a/pc-bios/optionrom/optrom.h b/pc-bios/optionrom/optrom.h
index c5c8caa..1e5e265 100644
--- a/pc-bios/optionrom/optrom.h
+++ b/pc-bios/optionrom/optrom.h
@@ -54,7 +54,7 @@ static inline uint8_t inb(uint16_t port)
 {
     uint8_t value;

-    asm volatile("outl %w1, %0" : : "a"(value), "Nd"(port));
+    asm volatile("inb %w1, %0" : "=a"(value) : "Nd"(port));
     return value;
 }

@@ -62,7 +62,7 @@ static inline uint16_t inw(uint16_t port)
 {
     uint16_t value;

-    asm volatile("outl %w1, %0" : : "a"(value), "Nd"(port));
+    asm volatile("inw %w1, %0" : "=a"(value) : "Nd"(port));
     return value;
 }

@@ -70,7 +70,7 @@ static inline uint32_t inl(uint16_t port)
 {
     uint32_t value;

-    asm volatile("outl %w1, %0" : : "a"(value), "Nd"(port));
+    asm volatile("inl %w1, %0" : "=a"(value) : "Nd"(port));
     return value;
 }


No need to repost.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]