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: Aurelien Jarno
Subject: Re: [Qemu-devel] [6352] Fix character devices after DisplayState refactoring
Date: Sun, 18 Jan 2009 15:09:33 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Sat, Jan 17, 2009 at 11:11:26PM +0100, Stefan Weil wrote:
> 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.
> 

I have committed a fix in revision 6365. It is a bit ugly, don't 
hesistate to commit a better fix.

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   address@hidden         | address@hidden
   `-    people.debian.org/~aurel32 | www.aurel32.net




reply via email to

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