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