diff options
author | Gerd Hoffmann | 2012-11-12 22:33:21 +0100 |
---|---|---|
committer | Gerd Hoffmann | 2012-11-16 11:27:07 +0100 |
commit | c96c53b5f10c4b34e9fe1dcb1a5aadf204c16279 (patch) | |
tree | f2848a07d6dd8177c1f240a2d98078702125b13d /hw/vga-pci.c | |
parent | vga: fix bochs alignment issue (diff) | |
download | qemu-c96c53b5f10c4b34e9fe1dcb1a5aadf204c16279.tar.gz qemu-c96c53b5f10c4b34e9fe1dcb1a5aadf204c16279.tar.xz qemu-c96c53b5f10c4b34e9fe1dcb1a5aadf204c16279.zip |
vga: fix mmio vga register mapping
Diffstat (limited to 'hw/vga-pci.c')
-rw-r--r-- | hw/vga-pci.c | 7 |
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; } } |