aboutsummaryrefslogtreecommitdiff
path: root/hw/display/sm501_template.h
diff options
context:
space:
mode:
authorBALATON Zoltan <balaton@eik.bme.hu>2017-04-21 17:18:09 +0200
committerPeter Maydell <peter.maydell@linaro.org>2017-04-24 12:32:12 +0100
commitc795fa8447ba9d4133bd8be84341151f8dc3f077 (patch)
treea400f4830601181a7fba9109282123d74fcadc6f /hw/display/sm501_template.h
parentca8a1104708b0c8775d5f9daf8ea9de92d277574 (diff)
sm501: Get rid of base address in draw_hwc_line
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 <balaton@eik.bme.hu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Aurelien Jarno <aurelien@aurel32.net> Message-id: 79dab21bc6ec4d563aabf265c3bab40e2e95aae8.1492787889.git.balaton@eik.bme.hu Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/display/sm501_template.h')
-rw-r--r--hw/display/sm501_template.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/display/sm501_template.h b/hw/display/sm501_template.h
index 16e500b1fc..832ee6177b 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;