diff options
author | Avi Kivity <avi@redhat.com> | 2009-12-20 16:59:28 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-12-20 16:59:28 +0200 |
commit | 70641b6d90f49d4c1553b213a94e73a17a2060ef (patch) | |
tree | db7bab2b27a1553475e8df1374e98e8947bbd5a5 /hw/vga.c | |
parent | bfa5727e9ea7bcdf9de02aa4c5b985e31e81c632 (diff) | |
parent | f0138a63a41fe26bcef61d031ae53d872d12a992 (diff) |
Merge commit 'f0138a63a41fe26bcef61d031ae53d872d12a992' into upstream-merge
* commit 'f0138a63a41fe26bcef61d031ae53d872d12a992': (23 commits)
Make sure to enable dirty tracking of VBE vram mapping
vmware: setup PCI BAR 2 for FIFO as per vmware spec
qdev: improve property error reporting.
fix vga names in default_list
usb-host: check mon before using it.
usb-net: use qdev for -usbdevice
Check rom_load_all() return value.
defaults: update device_list[]
defaults: split default_drive
monitor: Catch printing to non-existent monitor
monitor: Avoid readline functions in QMP
monitor: do_balloon(): Check for errors
monitor: Use 'device' in eject
QDict: Fix size update
qdev: Improve uni-north device names
Avoid permanently disabled QEMU monitor when UNIX migration fails
Fix loading of ELF multiboot kernels
Revert "Rename DriveInfo.onerror to on_write_error" (fix mismerge)
qemu-io: Fix memory leak
Fix thinko in linuxboot.S
...
Conflicts:
hw/vga.c
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'hw/vga.c')
-rw-r--r-- | hw/vga.c | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -1583,6 +1583,14 @@ static void vga_sync_dirty_bitmap(VGACommonState *s) cpu_physical_sync_dirty_bitmap(isa_mem_base + 0xa0000, 0xa8000); cpu_physical_sync_dirty_bitmap(isa_mem_base + 0xa8000, 0xb0000); } + +#ifdef CONFIG_BOCHS_VBE + if (s->vbe_mapped) { + cpu_physical_sync_dirty_bitmap(VBE_DISPI_LFB_PHYSICAL_ADDRESS, + VBE_DISPI_LFB_PHYSICAL_ADDRESS + s->vram_size); + } +#endif + vga_dirty_log_start(s); } @@ -1626,6 +1634,13 @@ void vga_dirty_log_start(VGACommonState *s) } s2 = 1; } + +#ifdef CONFIG_BOCHS_VBE + if (kvm_enabled() && s->vbe_mapped) { + kvm_log_start(VBE_DISPI_LFB_PHYSICAL_ADDRESS, s->vram_size); + } +#endif + } /* @@ -2332,6 +2347,15 @@ void vga_init(VGACommonState *s) qemu_register_coalesced_mmio(isa_mem_base + 0x000a0000, 0x20000); } +void vga_init_vbe(VGACommonState *s) +{ +#ifdef CONFIG_BOCHS_VBE + /* XXX: use optimized standard vga accesses */ + cpu_register_physical_memory(VBE_DISPI_LFB_PHYSICAL_ADDRESS, + VGA_RAM_SIZE, s->vram_offset); + s->vbe_mapped = 1; +#endif +} /********************************************************/ /* vga screen dump */ |