mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
update bochs vbe interface
The bochs vbe interface got a new register a while back, which specifies the linear framebuffer size in 64k units. This patch adds support for the new register to qemu. With this patch applied vgabios 0.6c works with qemu. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
2db7ad59fc
commit
af92284bec
2 changed files with 7 additions and 3 deletions
6
hw/vga.c
6
hw/vga.c
|
@ -522,7 +522,7 @@ static uint32_t vbe_ioport_read_data(void *opaque, uint32_t addr)
|
|||
VGACommonState *s = opaque;
|
||||
uint32_t val;
|
||||
|
||||
if (s->vbe_index <= VBE_DISPI_INDEX_NB) {
|
||||
if (s->vbe_index < VBE_DISPI_INDEX_NB) {
|
||||
if (s->vbe_regs[VBE_DISPI_INDEX_ENABLE] & VBE_DISPI_GETCAPS) {
|
||||
switch(s->vbe_index) {
|
||||
/* XXX: do not hardcode ? */
|
||||
|
@ -542,6 +542,8 @@ static uint32_t vbe_ioport_read_data(void *opaque, uint32_t addr)
|
|||
} else {
|
||||
val = s->vbe_regs[s->vbe_index];
|
||||
}
|
||||
} else if (s->vbe_index == VBE_DISPI_INDEX_VIDEO_MEMORY_64K) {
|
||||
val = s->vram_size / (64 * 1024);
|
||||
} else {
|
||||
val = 0;
|
||||
}
|
||||
|
@ -1955,7 +1957,7 @@ void vga_common_reset(VGACommonState *s)
|
|||
#ifdef CONFIG_BOCHS_VBE
|
||||
s->vbe_index = 0;
|
||||
memset(s->vbe_regs, '\0', sizeof(s->vbe_regs));
|
||||
s->vbe_regs[VBE_DISPI_INDEX_ID] = VBE_DISPI_ID0;
|
||||
s->vbe_regs[VBE_DISPI_INDEX_ID] = VBE_DISPI_ID5;
|
||||
s->vbe_start_addr = 0;
|
||||
s->vbe_line_offset = 0;
|
||||
s->vbe_bank_mask = (s->vram_size >> 16) - 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue