qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 2/2] serial: Declare as little endian


From: Blue Swirl
Subject: [Qemu-devel] [PATCH 2/2] serial: Declare as little endian
Date: Sun, 19 Dec 2010 10:46:31 +0000

This patch replaces explicit bswaps with endianness hints to the
mmio layer.

CC: Alexander Graf <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>
---
 hw/serial.c |   86 ++++++++++++----------------------------------------------
 1 files changed, 18 insertions(+), 68 deletions(-)

diff --git a/hw/serial.c b/hw/serial.c
index 2c4af61..70ae26a 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -839,53 +839,24 @@ static void serial_mm_writeb(void *opaque,
target_phys_addr_t addr,
     serial_ioport_write(s, addr >> s->it_shift, value & 0xFF);
 }

-static uint32_t serial_mm_readw_be(void *opaque, target_phys_addr_t addr)
+static uint32_t serial_mm_readw(void *opaque, target_phys_addr_t addr)
 {
     SerialState *s = opaque;
     uint32_t val;

     val = serial_ioport_read(s, addr >> s->it_shift) & 0xFFFF;
-    val = bswap16(val);
     return val;
 }

-static uint32_t serial_mm_readw_le(void *opaque, target_phys_addr_t addr)
-{
-    SerialState *s = opaque;
-    uint32_t val;
-
-    val = serial_ioport_read(s, addr >> s->it_shift) & 0xFFFF;
-    return val;
-}
-
-static void serial_mm_writew_be(void *opaque, target_phys_addr_t addr,
-                                uint32_t value)
-{
-    SerialState *s = opaque;
-
-    value = bswap16(value);
-    serial_ioport_write(s, addr >> s->it_shift, value & 0xFFFF);
-}
-
-static void serial_mm_writew_le(void *opaque, target_phys_addr_t addr,
-                                uint32_t value)
+static void serial_mm_writew(void *opaque, target_phys_addr_t addr,
+                             uint32_t value)
 {
     SerialState *s = opaque;

     serial_ioport_write(s, addr >> s->it_shift, value & 0xFFFF);
 }

-static uint32_t serial_mm_readl_be(void *opaque, target_phys_addr_t addr)
-{
-    SerialState *s = opaque;
-    uint32_t val;
-
-    val = serial_ioport_read(s, addr >> s->it_shift);
-    val = bswap32(val);
-    return val;
-}
-
-static uint32_t serial_mm_readl_le(void *opaque, target_phys_addr_t addr)
+static uint32_t serial_mm_readl(void *opaque, target_phys_addr_t addr)
 {
     SerialState *s = opaque;
     uint32_t val;
@@ -894,45 +865,24 @@ static uint32_t serial_mm_readl_le(void *opaque,
target_phys_addr_t addr)
     return val;
 }

-static void serial_mm_writel_be(void *opaque, target_phys_addr_t addr,
-                                uint32_t value)
-{
-    SerialState *s = opaque;
-
-    value = bswap32(value);
-    serial_ioport_write(s, addr >> s->it_shift, value);
-}
-
-static void serial_mm_writel_le(void *opaque, target_phys_addr_t addr,
-                                uint32_t value)
+static void serial_mm_writel(void *opaque, target_phys_addr_t addr,
+                             uint32_t value)
 {
     SerialState *s = opaque;

     serial_ioport_write(s, addr >> s->it_shift, value);
 }

-static CPUReadMemoryFunc * const serial_mm_read_be[] = {
-    &serial_mm_readb,
-    &serial_mm_readw_be,
-    &serial_mm_readl_be,
-};
-
-static CPUWriteMemoryFunc * const serial_mm_write_be[] = {
-    &serial_mm_writeb,
-    &serial_mm_writew_be,
-    &serial_mm_writel_be,
-};
-
-static CPUReadMemoryFunc * const serial_mm_read_le[] = {
+static CPUReadMemoryFunc * const serial_mm_read[] = {
     &serial_mm_readb,
-    &serial_mm_readw_le,
-    &serial_mm_readl_le,
+    &serial_mm_readw,
+    &serial_mm_readl,
 };

-static CPUWriteMemoryFunc * const serial_mm_write_le[] = {
+static CPUWriteMemoryFunc * const serial_mm_write[] = {
     &serial_mm_writeb,
-    &serial_mm_writew_le,
-    &serial_mm_writel_le,
+    &serial_mm_writew,
+    &serial_mm_writel,
 };

 SerialState *serial_mm_init (target_phys_addr_t base, int it_shift,
@@ -955,13 +905,13 @@ SerialState *serial_mm_init (target_phys_addr_t
base, int it_shift,

     if (ioregister) {
         if (be) {
-            s_io_memory = cpu_register_io_memory(serial_mm_read_be,
-                                                 serial_mm_write_be, s,
-                                                 DEVICE_NATIVE_ENDIAN);
+            s_io_memory = cpu_register_io_memory(serial_mm_read,
+                                                 serial_mm_write, s,
+                                                 DEVICE_BIG_ENDIAN);
         } else {
-            s_io_memory = cpu_register_io_memory(serial_mm_read_le,
-                                                 serial_mm_write_le, s,
-                                                 DEVICE_NATIVE_ENDIAN);
+            s_io_memory = cpu_register_io_memory(serial_mm_read,
+                                                 serial_mm_write, s,
+                                                 DEVICE_LITTLE_ENDIAN);
         }
         cpu_register_physical_memory(base, 8 << it_shift, s_io_memory);
     }
-- 
1.6.2.4



reply via email to

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