qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [6352] Fix character devices after DisplayState refacto


From: Stefan Weil
Subject: Re: [Qemu-devel] [6352] Fix character devices after DisplayState refactoring
Date: Sat, 17 Jan 2009 23:11:26 +0100
User-agent: Mozilla-Thunderbird 2.0.0.19 (X11/20090103)

Anthony Liguori schrieb:
> Revision: 6352
> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6352
> Author: aliguori
> Date: 2009-01-16 20:23:27 +0000 (Fri, 16 Jan 2009)
>
> Log Message:
> -----------
> Fix character devices after DisplayState refactoring
>
> The DisplayState refactoring changed the machine init function to create a
> DisplayState for each VGA device instead of being passed an existing
> DisplayState. This change is critical to enable multiple graphics device
> support.
>
> Unfortunately, the serial/parallel/console code is structured today to run
> before machine init to fill out the CharDriverState table which the
> machine
> init function uses to determine whether to create the required devices.
>
> Since a 'vc' is a type of CharDriverState, the CharDriverState code
> requires
> that a DisplayState exist before it runs creating a circular dependency.
>
> To fix this, this splits the creation of the initial CharDriverState from
> the initialization of the text console. We can then in a second step
> associate
> a DisplayState with all TextConsoles. This allows us to create the
> CharDriverState's first, machine init, then associate the TextConsoles
> with
> a DisplayState.
>
> This code screams for more cleanup.

Yes, it screams for more cleanups.

MIPS Malta also no longer works, same reason as for the serial code:

Malta creates a character device during machine init and writes some
characters to it.
This is now impossible because qemu_chr_printf can no longer be called
before text_consoles_set_display was called.

Regards
Stefan Weil





reply via email to

[Prev in Thread] Current Thread [Next in Thread]