[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 1/5] lsi: use ldn_le_p()/stn_le_p()
From: |
Sven Schnelle |
Subject: |
[Qemu-devel] [PATCH v2 1/5] lsi: use ldn_le_p()/stn_le_p() |
Date: |
Tue, 5 Mar 2019 20:55:15 +0100 |
Instead of using the open-coded versions, use the helper already
present as this makes the code easier to read and less error-prone.
Signed-off-by: Sven Schnelle <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/scsi/lsi53c895a.c | 24 ++++--------------------
1 file changed, 4 insertions(+), 20 deletions(-)
diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index 5623da8950..5f336606b9 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -289,8 +289,7 @@ typedef struct {
uint8_t sbr;
uint32_t adder;
- /* Script ram is stored as 32-bit words in host byteorder. */
- uint32_t script_ram[2048];
+ uint8_t script_ram[2048 * sizeof(uint32_t)];
} LSIState;
#define TYPE_LSI53C810 "lsi53c810"
@@ -2079,29 +2078,14 @@ static void lsi_ram_write(void *opaque, hwaddr addr,
uint64_t val, unsigned size)
{
LSIState *s = opaque;
- uint32_t newval;
- uint32_t mask;
- int shift;
-
- newval = s->script_ram[addr >> 2];
- shift = (addr & 3) * 8;
- mask = ((uint64_t)1 << (size * 8)) - 1;
- newval &= ~(mask << shift);
- newval |= val << shift;
- s->script_ram[addr >> 2] = newval;
+ stn_le_p(s->script_ram + addr, size, val);
}
static uint64_t lsi_ram_read(void *opaque, hwaddr addr,
unsigned size)
{
LSIState *s = opaque;
- uint32_t val;
- uint32_t mask;
-
- val = s->script_ram[addr >> 2];
- mask = ((uint64_t)1 << (size * 8)) - 1;
- val >>= (addr & 3) * 8;
- return val & mask;
+ return ldn_le_p(s->script_ram + addr, size);
}
static const MemoryRegionOps lsi_ram_ops = {
@@ -2244,7 +2228,7 @@ static const VMStateDescription vmstate_lsi_scsi = {
VMSTATE_BUFFER_UNSAFE(scratch, LSIState, 0, 18 * sizeof(uint32_t)),
VMSTATE_UINT8(sbr, LSIState),
- VMSTATE_BUFFER_UNSAFE(script_ram, LSIState, 0, 2048 *
sizeof(uint32_t)),
+ VMSTATE_BUFFER_UNSAFE(script_ram, LSIState, 0, 8192),
VMSTATE_END_OF_LIST()
}
};
--
2.20.1
- [Qemu-devel] [PATCH v2 0/5] LSI53C895 cleanups, Sven Schnelle, 2019/03/05
- [Qemu-devel] [PATCH v2 3/5] lsi: use enum type for s->msg_action, Sven Schnelle, 2019/03/05
- [Qemu-devel] [PATCH v2 2/5] lsi: use enum type for s->waiting, Sven Schnelle, 2019/03/05
- [Qemu-devel] [PATCH v2 1/5] lsi: use ldn_le_p()/stn_le_p(),
Sven Schnelle <=
- [Qemu-devel] [PATCH v2 4/5] lsi: use SCSI phase names instead of numbers in trace, Sven Schnelle, 2019/03/05
- [Qemu-devel] [PATCH v2 5/5] lsi: return dfifo value, Sven Schnelle, 2019/03/05
- Re: [Qemu-devel] [PATCH v2 0/5] LSI53C895 cleanups, Paolo Bonzini, 2019/03/08