mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
Introduce log_start/log_stop in CPUPhysMemoryClient
In order to use log_start/log_stop with Xen as well in the vga code, this two operations have been put in CPUPhysMemoryClient. The two new functions cpu_physical_log_start,cpu_physical_log_stop are used in hw/vga.c and replace the kvm_log_start/stop. With this, vga does no longer depends on kvm header. [ Jan: rebasing and style fixlets ] Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
8e045ac407
commit
e5896b12e2
8 changed files with 64 additions and 30 deletions
31
hw/vga.c
31
hw/vga.c
|
@ -28,7 +28,6 @@
|
|||
#include "vga_int.h"
|
||||
#include "pixel_ops.h"
|
||||
#include "qemu-timer.h"
|
||||
#include "kvm.h"
|
||||
|
||||
//#define DEBUG_VGA
|
||||
//#define DEBUG_VGA_MEM
|
||||
|
@ -1573,34 +1572,36 @@ static void vga_sync_dirty_bitmap(VGACommonState *s)
|
|||
|
||||
void vga_dirty_log_start(VGACommonState *s)
|
||||
{
|
||||
if (kvm_enabled() && s->map_addr)
|
||||
kvm_log_start(s->map_addr, s->map_end - s->map_addr);
|
||||
if (s->map_addr) {
|
||||
cpu_physical_log_start(s->map_addr, s->map_end - s->map_addr);
|
||||
}
|
||||
|
||||
if (kvm_enabled() && s->lfb_vram_mapped) {
|
||||
kvm_log_start(isa_mem_base + 0xa0000, 0x8000);
|
||||
kvm_log_start(isa_mem_base + 0xa8000, 0x8000);
|
||||
if (s->lfb_vram_mapped) {
|
||||
cpu_physical_log_start(isa_mem_base + 0xa0000, 0x8000);
|
||||
cpu_physical_log_start(isa_mem_base + 0xa8000, 0x8000);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BOCHS_VBE
|
||||
if (kvm_enabled() && s->vbe_mapped) {
|
||||
kvm_log_start(VBE_DISPI_LFB_PHYSICAL_ADDRESS, s->vram_size);
|
||||
if (s->vbe_mapped) {
|
||||
cpu_physical_log_start(VBE_DISPI_LFB_PHYSICAL_ADDRESS, s->vram_size);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void vga_dirty_log_stop(VGACommonState *s)
|
||||
{
|
||||
if (kvm_enabled() && s->map_addr)
|
||||
kvm_log_stop(s->map_addr, s->map_end - s->map_addr);
|
||||
if (s->map_addr) {
|
||||
cpu_physical_log_stop(s->map_addr, s->map_end - s->map_addr);
|
||||
}
|
||||
|
||||
if (kvm_enabled() && s->lfb_vram_mapped) {
|
||||
kvm_log_stop(isa_mem_base + 0xa0000, 0x8000);
|
||||
kvm_log_stop(isa_mem_base + 0xa8000, 0x8000);
|
||||
if (s->lfb_vram_mapped) {
|
||||
cpu_physical_log_stop(isa_mem_base + 0xa0000, 0x8000);
|
||||
cpu_physical_log_stop(isa_mem_base + 0xa8000, 0x8000);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BOCHS_VBE
|
||||
if (kvm_enabled() && s->vbe_mapped) {
|
||||
kvm_log_stop(VBE_DISPI_LFB_PHYSICAL_ADDRESS, s->vram_size);
|
||||
if (s->vbe_mapped) {
|
||||
cpu_physical_log_stop(VBE_DISPI_LFB_PHYSICAL_ADDRESS, s->vram_size);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue