summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-11-12 22:33:21 +0100
committerGerd Hoffmann <kraxel@redhat.com>2012-11-16 11:27:07 +0100
commitc96c53b5f10c4b34e9fe1dcb1a5aadf204c16279 (patch)
treef2848a07d6dd8177c1f240a2d98078702125b13d
parentdf9ffb726ff13f850b8829be1bc85ed621b903ac (diff)
downloadqemu-c96c53b5f10c4b34e9fe1dcb1a5aadf204c16279.tar.gz
vga: fix mmio vga register mapping
-rw-r--r--hw/vga-pci.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/hw/vga-pci.c b/hw/vga-pci.c
index ec29cac7f4..947e35c76f 100644
--- a/hw/vga-pci.c
+++ b/hw/vga-pci.c
@@ -84,9 +84,10 @@ static void pci_vga_ioport_write(void *ptr, hwaddr addr,
uint64_t val, unsigned size)
{
PCIVGAState *d = ptr;
+
switch (size) {
case 1:
- vga_ioport_write(&d->vga, addr, val);
+ vga_ioport_write(&d->vga, addr + 0x3c0, val);
break;
case 2:
/*
@@ -94,8 +95,8 @@ static void pci_vga_ioport_write(void *ptr, hwaddr addr,
* indexed registers with a single word write because the
* index byte is updated first.
*/
- vga_ioport_write(&d->vga, addr, val & 0xff);
- vga_ioport_write(&d->vga, addr+1, (val >> 8) & 0xff);
+ vga_ioport_write(&d->vga, addr + 0x3c0, val & 0xff);
+ vga_ioport_write(&d->vga, addr + 0x3c1, (val >> 8) & 0xff);
break;
}
}