mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
Add cirrus reset handler
The vga reset handler overwrites some cirrus registers, causing reboots to corrupt cirrus state to the point that guests can only bring up 640x480 resolutions. Fix by adding a dedicated cirrus reset handler (which calls the common vga handler). Signed-off-by: Avi Kivity <avi@redhat.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6191 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
785f451b62
commit
4abc796d41
3 changed files with 66 additions and 53 deletions
4
hw/vga.c
4
hw/vga.c
|
@ -1839,7 +1839,7 @@ static void vga_invalidate_display(void *opaque)
|
|||
s->last_height = -1;
|
||||
}
|
||||
|
||||
static void vga_reset(void *opaque)
|
||||
void vga_reset(void *opaque)
|
||||
{
|
||||
VGAState *s = (VGAState *) opaque;
|
||||
|
||||
|
@ -2277,7 +2277,6 @@ void vga_common_init(VGAState *s, DisplayState *ds, uint8_t *vga_ram_base,
|
|||
s->update_retrace_info = vga_precise_update_retrace_info;
|
||||
break;
|
||||
}
|
||||
qemu_register_reset(vga_reset, s);
|
||||
vga_reset(s);
|
||||
}
|
||||
|
||||
|
@ -2286,6 +2285,7 @@ void vga_init(VGAState *s)
|
|||
{
|
||||
int vga_io_memory;
|
||||
|
||||
qemu_register_reset(vga_reset, s);
|
||||
register_savevm("vga", 0, 2, vga_save, vga_load, s);
|
||||
|
||||
register_ioport_write(0x3c0, 16, 1, vga_ioport_write, s);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue