Revision f0138a63

b/hw/vga-isa.c
42 42
    s->ds = graphic_console_init(s->update, s->invalidate,
43 43
                                 s->screen_dump, s->text_update, s);
44 44

  
45
#ifdef CONFIG_BOCHS_VBE
46
    /* XXX: use optimized standard vga accesses */
47
    cpu_register_physical_memory(VBE_DISPI_LFB_PHYSICAL_ADDRESS,
48
                                 VGA_RAM_SIZE, s->vram_offset);
49
#endif
45
    vga_init_vbe(s);
50 46
    /* ROM BIOS */
51 47
    rom_add_vga(VGABIOS_FILENAME);
52 48
    return 0;
b/hw/vga-pci.c
106 106
                         PCI_BASE_ADDRESS_MEM_PREFETCH, vga_map);
107 107
     }
108 108

  
109
#ifdef CONFIG_BOCHS_VBE
110
    /* XXX: use optimized standard vga accesses */
111
    cpu_register_physical_memory(VBE_DISPI_LFB_PHYSICAL_ADDRESS,
112
                                 VGA_RAM_SIZE, s->vram_offset);
113
#endif
114

  
109
    vga_init_vbe(s);
115 110
     /* ROM BIOS */
116 111
     rom_add_vga(VGABIOS_FILENAME);
117 112
     return 0;
b/hw/vga.c
1581 1581
        cpu_physical_sync_dirty_bitmap(isa_mem_base + 0xa0000, 0xa8000);
1582 1582
        cpu_physical_sync_dirty_bitmap(isa_mem_base + 0xa8000, 0xb0000);
1583 1583
    }
1584

  
1585
#ifdef CONFIG_BOCHS_VBE
1586
    if (s->vbe_mapped) {
1587
        cpu_physical_sync_dirty_bitmap(VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1588
                                       VBE_DISPI_LFB_PHYSICAL_ADDRESS + s->vram_size);
1589
    }
1590
#endif
1591

  
1584 1592
}
1585 1593

  
1586 1594
void vga_dirty_log_start(VGACommonState *s)
......
1592 1600
        kvm_log_start(isa_mem_base + 0xa0000, 0x8000);
1593 1601
        kvm_log_start(isa_mem_base + 0xa8000, 0x8000);
1594 1602
    }
1603

  
1604
#ifdef CONFIG_BOCHS_VBE
1605
    if (kvm_enabled() && s->vbe_mapped) {
1606
        kvm_log_start(VBE_DISPI_LFB_PHYSICAL_ADDRESS, s->vram_size);
1607
    }
1608
#endif
1609

  
1595 1610
}
1596 1611

  
1597 1612
/*
......
2294 2309
    qemu_register_coalesced_mmio(isa_mem_base + 0x000a0000, 0x20000);
2295 2310
}
2296 2311

  
2312
void vga_init_vbe(VGACommonState *s)
2313
{
2314
#ifdef CONFIG_BOCHS_VBE
2315
    /* XXX: use optimized standard vga accesses */
2316
    cpu_register_physical_memory(VBE_DISPI_LFB_PHYSICAL_ADDRESS,
2317
                                 VGA_RAM_SIZE, s->vram_offset);
2318
    s->vbe_mapped = 1;
2319
#endif 
2320
}
2297 2321
/********************************************************/
2298 2322
/* vga screen dump */
2299 2323

  
b/hw/vga_int.h
71 71
    uint16_t vbe_regs[VBE_DISPI_INDEX_NB];      \
72 72
    uint32_t vbe_start_addr;                    \
73 73
    uint32_t vbe_line_offset;                   \
74
    uint32_t vbe_bank_mask;
75

  
74
    uint32_t vbe_bank_mask;			\
75
    int vbe_mapped;
76 76
#else
77 77

  
78 78
#define VGA_STATE_COMMON_BOCHS_VBE
......
217 217
                             unsigned int color_xor);
218 218

  
219 219
int vga_ioport_invalid(VGACommonState *s, uint32_t addr);
220
void vga_init_vbe(VGACommonState *s);
220 221

  
221 222
extern const uint8_t sr_mask[8];
222 223
extern const uint8_t gr_mask[16];
b/hw/vmware_vga.c
1129 1129
                                     vmsvga_screen_dump,
1130 1130
                                     vmsvga_text_update, s);
1131 1131

  
1132
#ifdef CONFIG_BOCHS_VBE
1133
    /* XXX: use optimized standard vga accesses */
1134
    cpu_register_physical_memory(VBE_DISPI_LFB_PHYSICAL_ADDRESS,
1135
                                 vga_ram_size, s->vga.vram_offset);
1136
#endif
1137
     rom_add_vga(VGABIOS_FILENAME);
1132
    vga_init_vbe(&s->vga);
1133
    rom_add_vga(VGABIOS_FILENAME);
1138 1134
}
1139 1135

  
1140 1136
static void pci_vmsvga_map_ioport(PCIDevice *pci_dev, int region_num,

Also available in: Unified diff