[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PATCH v2 04/14] sm501: Get rid of base address in draw_h
From: |
BALATON Zoltan |
Subject: |
[Qemu-trivial] [PATCH v2 04/14] sm501: Get rid of base address in draw_hwc_line |
Date: |
Sat, 25 Feb 2017 19:23:50 +0100 |
Do not use the base address to access data in local memory. This is in
preparation to allow chip connected via PCI where base address depends
on where the BAR is mapped so it will be unknown.
Signed-off-by: BALATON Zoltan <address@hidden>
---
hw/display/sm501.c | 6 ++----
hw/display/sm501_template.h | 8 ++++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index 22cac97..1cda127 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -460,7 +460,6 @@ typedef struct SM501State {
QemuConsole *con;
/* status & internal resources */
- hwaddr base;
uint32_t local_mem_size_index;
uint8_t *local_mem;
MemoryRegion local_mem_region;
@@ -1400,10 +1399,9 @@ static const GraphicHwOps sm501_ops = {
.gfx_update = sm501_update_display,
};
-static void sm501_init(SM501State *s, DeviceState *dev, uint32_t base,
+static void sm501_init(SM501State *s, DeviceState *dev,
uint32_t local_mem_bytes)
{
- s->base = base;
s->local_mem_size_index = get_local_mem_size_index(local_mem_bytes);
SM501_DPRINTF("sm501 local mem size=%x. index=%d\n", get_local_mem_size(s),
s->local_mem_size_index);
@@ -1461,7 +1459,7 @@ static void sm501_realize_sysbus(DeviceState *dev, Error
**errp)
SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
DeviceState *usb_dev;
- sm501_init(&s->state, dev, s->base, s->vram_size);
+ sm501_init(&s->state, dev, s->vram_size);
sysbus_init_mmio(sbd, &s->state.local_mem_region);
sysbus_init_mmio(sbd, &s->state.mmio_region);
diff --git a/hw/display/sm501_template.h b/hw/display/sm501_template.h
index 16e500b..832ee61 100644
--- a/hw/display/sm501_template.h
+++ b/hw/display/sm501_template.h
@@ -103,13 +103,13 @@ static void glue(draw_hwc_line_, PIXEL_NAME)(SM501State
*s, int crt,
uint8_t *palette, int c_y, uint8_t *d, int width)
{
int x, i;
- uint8_t bitset = 0;
+ uint8_t *pixval, bitset = 0;
/* get hardware cursor pattern */
uint32_t cursor_addr = get_hwc_address(s, crt);
assert(0 <= c_y && c_y < SM501_HWC_HEIGHT);
cursor_addr += SM501_HWC_WIDTH * c_y / 4; /* 4 pixels per byte */
- cursor_addr += s->base;
+ pixval = s->local_mem + cursor_addr;
/* get cursor position */
x = get_hwc_x(s, crt);
@@ -120,8 +120,8 @@ static void glue(draw_hwc_line_, PIXEL_NAME)(SM501State *s,
int crt,
/* get pixel value */
if (i % 4 == 0) {
- bitset = ldub_phys(&address_space_memory, cursor_addr);
- cursor_addr++;
+ bitset = ldub_p(pixval);
+ pixval++;
}
v = bitset & 3;
bitset >>= 2;
--
2.7.4
- [Qemu-trivial] [PATCH v2 06/14] sm501: Add missing arbitration control register, (continued)
- [Qemu-trivial] [PATCH v2 06/14] sm501: Add missing arbitration control register, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 07/14] sm501: Fix device endianness, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 05/14] sm501: Add emulation of chip connected via PCI, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 09/14] sm501: Misc clean ups, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 14/14] ppc: Add SM501 device in config for ppc and ppcemb targets, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 10/14] sm501: Add support for panel layer, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 03/14] sm501: QOMify, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 08/14] sm501: Fix hardware cursor, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 02/14] sm501: Use defines instead of constants where available, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 12/14] sm501: Implement reading 2D engine registers, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 04/14] sm501: Get rid of base address in draw_hwc_line,
BALATON Zoltan <=
- [Qemu-trivial] [PATCH v2 13/14] sm501: Add reset function and vmstate descriptor, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 11/14] sm501: Add some more missing registers, BALATON Zoltan, 2017/02/25
- [Qemu-trivial] [PATCH v2 01/14] sm501: Fixed code style and a few typos in comments, BALATON Zoltan, 2017/02/25
- Re: [Qemu-trivial] [PATCH v2 00/14] Improvements for SM501 display controller emulation, Michael Tokarev, 2017/02/27